The `!self.Destroyed && !self.IsDead()` check needs to be done inside the AddFrameEndTask lambda.