one Undoable interface instead of operations