factoring out game entity management code
separating 'sprite' and 'entity' game objects