Refactored Camera class