Practice designing easy to change software with TDD