Fix the undo queue

UndoBatch being an UndoableBatch is just too messy.