Fix NPE in PushSpell

Also make it reflect
Make GenericSpell undoable if appropriate.