refactoring structure, trying to move state/game logic into service