refactor camera stuff into its own singleton module. Preface for singleton tracking of the camera.
Use ForwardingCamera + CameraLike