Move classes out to individual managers and add camera class