Tried to make approach a bit more holistic. TDD can suffer from being too iterative.