Complete CRUD implementation, written test, passed the test and refactored