pull common sprite functionality into Sprite class