divorcing drawEntities from updateEntities, CanvasLayers implementation failed