Small code assignment for interview candidates
Create a branch of this, do your changes and issue a Pull Request. Please focus on the TODOs and the hints available in the source code. READ!
There is an implementation and a test class with TODOs that hint on what to do. The tasks are supposed to be in increasing complexity, so start from the top and work downwards.
Spend a max of 3 hours on this, it is OK to come up with something less than perfect. Whatever you learn from this we will use for a discussion.