restructuring so sprites are embedded in gameobject classes
refactoring rendering information so that it is stored in its own mutable state