Designing enterprise applications with TDD. Example application.