CameraControl refactoring