Did a lot of refactoring in ModelImplementation and StateLogic. For some reason the tests in BoatCollisionChecker broke. Trying to fix. Shouldn't affect the rest of the system.