Simplified model to be more explicit.
Almost all objects are immutable. All of a object QuizWalkGame composite
members are immutable. Why you say ? Because god said so. 
The only thing a client of a game will change is the "ChallengeState"
(e.g. what challenges have been completed) - Therefore,
controller/server will ultimately keep track of this. hence, an instance
of QuizWalkGame should be immutable.(Authors of the game will be able to
cheat so don't worry)

toString added to most classes. I made this for testing.

GameMap <- a Singleton describing the whole Client View.