Improve organization (split out game logic, utils)