backed out sprite management changes, added universal off() added destroy()