Updated the camera interface (constructors, update on mutation), began implementing the surface and composite surface interfaces