CameraController is now a singleton