I'm not sure if this controller should exist. Focus is an integral part of the camera hardware, in many case the camera can't work without it. For this reason I think this logic should just sit in the `CameraController`.