made some functions non-virtual again
moved scene rendering and visibility to seperate class RenderCoordinator