major refactor of game classes into a single well-tested class