The current implementation of the RenderWorld and related classes relis on the fact that during drawing the World and objects in the world are not modified. This creates synchronization problems. To solve this issue the best thing to do seems to have copies of the status of all objects that get transferred to the GUI thread for drawing. Techniques to avoid doing unneeded copies should be used