Undo system refactor
FireSpell should register the target entity
FireSpell should register modified entities
Merge scheduled and unscheduled undo systems