functional undo for entattr and drag