Move the camera code into its own module