Off the top of my head, the approch I'm going to try is to give the mark type an "owner" param which is whatever object the bullet/whatever collided with. I will then parent it to the owner, and check each update to see if the owner still exists. If it doesn't, I'll free the sprite and delete the mark. Not sure where the entity does not exist error is coming from...I'm going to try coding my mark code tonight, I'll let you know if I make it work this way.