Complete re-start and restructuring.
Distinct camera class, with sub methods for rotation and movement