WIP: refactor game logic into services