Added cropping functionality and seperated graphics view logic into its own subclass ot allow modification.