tdd-training-homework02 - getting rid of redundant abstract classes