Refactored. Pulled Sprite into its own file