Buro's notes
Code Design and Architecture
Errors: model them once, catch them once