diff --git a/modules/camera/include/vkcv/camera/CameraController.hpp b/modules/camera/include/vkcv/camera/CameraController.hpp
index 0f5cf61249689c00bc207bca69dc08d6cb9263b2..f8a1ea0e81eda3061b2dd039a0c33ccff4ca129e 100644
--- a/modules/camera/include/vkcv/camera/CameraController.hpp
+++ b/modules/camera/include/vkcv/camera/CameraController.hpp
@@ -10,11 +10,6 @@ namespace vkcv {
      * #PilotCameraController.
      */
     class CameraController {
-    protected:
-        Camera* m_camera;
-        Window* m_window;
-        double m_lastX;
-        double m_lastY;
 
     public:
 
@@ -23,29 +18,11 @@ namespace vkcv {
          */
         CameraController() = default;
 
-        /**
-         * @brief Gets the camera object.
-         * @return The camera object.
-         */
-        Camera& getCamera();
-
-        /**
-         * @brief Sets @p camera as the new camera object.
-         * @param camera The new camera object.
-         */
-        virtual void setCamera(Camera &camera);
-
-        /**
-         * @brief Sets @p window as the new window object.
-         * @param window The new window object.
-         */
-        void setWindow(Window &window);
-
         /**
          * @brief Updates the camera object in respect to @p deltaTime.
          * @param deltaTime The time that has passed since last update.
          */
-        virtual void updateCamera(double deltaTime);
+        virtual void updateCamera(double deltaTime, Camera &camera);
 
         /**
          * @brief A callback function for key events.
@@ -54,21 +31,21 @@ namespace vkcv {
          * @param[in] action The key action.
          * @param[in] mods The modifier bits.
          */
-        virtual void keyCallback(int key, int scancode, int action, int mods);
+        virtual void keyCallback(int key, int scancode, int action, int mods, Camera &camera);
 
         /**
          * @brief A callback function for mouse scrolling events.
          * @param[in] offsetX The offset in horizontal direction.
          * @param[in] offsetY The offset in vertical direction.
          */
-        virtual void scrollCallback( double offsetX, double offsetY);
+        virtual void scrollCallback( double offsetX, double offsetY, Camera &camera);
 
         /**
          * @brief A callback function for mouse movement events.
          * @param[in] x The horizontal mouse position.
          * @param[in] y The vertical mouse position.
          */
-        virtual void mouseMoveCallback(double offsetX, double offsetY);
+        virtual void mouseMoveCallback(double offsetX, double offsetY, Camera &camera);
 
         /**
          * @brief A callback function for mouse button events.
@@ -76,7 +53,7 @@ namespace vkcv {
          * @param[in] action The button action.
          * @param[in] mods The modifier bits.
          */
-        virtual void mouseButtonCallback(int button, int action, int mods);
+        virtual void mouseButtonCallback(int button, int action, int mods, Camera &camera);
     };
 
 }
\ No newline at end of file