Tighten up canUndo/canRedo