Add modify(Entity)

Also change behavior of remove(Entity). This no longer means "mark as
having been removed" - use modify() for that, prior to killing or
removing the entity.