Support undoable operations