Thread a world object to represent the game loop. Only one reset of the game state per frame.
Fixed bugs with player movement. Use an atom for the World state