Move constraining functions from the CameraProxy and into Object so everything can benefit