Add undo to Operation interface