An app that uses a model of classes to teach TDD and OOP