Unit tests, unit tests everywhere!
36 unit tests later...