massive refactoring of game logic, a lot of pseudo-classical architecture