Nice!  This is some really nice cleanup.  One question though: shouldn't we set `sceneNode.camera.ID` here?