1. Create `CameraMainController` serving as IoC container injecting dependencies into child controllers. 2. Favor composition over switch/case (CameraZoomController is perfect examples of code smell) 3. Individual confiigurations should be serialized as scriptable objects 4. Consider Facade pattern
CameraMainControllerserving as IoC container injecting dependencies into child controllers.