Changed explicit state passing to Game monad