create a game world context to track state in the world, even though that's anti-clojurey