All new classes and tests are done. Now the refactoring can begin ;)