Intermediate commit - reasonably stable - of a bunch work on implementing the game.