A TDD challenge exploring inheritance, OOP & reviewing broken code