public static IScriptCommand AttachAdorner(string adornerLayerVariable = "{DragDrop.AdornerLayer}",
                                                   string adornerVariable      = "{DragDrop.Adorner}",
                                                   string iSupportDropVariable = "{ISupportDrop}",
                                                   string dragMethodVariable   = "{DragDrop.DragMethod}",
                                                   string draggablesVariable   = "{DragDrop.Draggables}",

                                                   IScriptCommand nextCommand = null)
        {
            return(DragDropScriptCommands.DetachAdorner(adornerLayerVariable, adornerVariable,
                                                        HubScriptCommands.AttachDragDropAdorner(adornerLayerVariable, adornerVariable,
                                                                                                HubScriptCommands.SetDependencyPropertyValue(adornerVariable, DragAdorner.IsDraggingProperty, true,
                                                                                                                                             DragDropScriptCommands.UpdateAdorner(adornerVariable, iSupportDropVariable,
                                                                                                                                                                                  dragMethodVariable, draggablesVariable, nextCommand)))));
        }
        public static IScriptCommand UpdateAdorner(string adornerVariable      = "{DragDrop.Adorner}",
                                                   string iSupportDropVariable = "{ISupportDrop}",
                                                   string dragMethodVariable   = "{DragDrop.DragMethod}",
                                                   string draggablesVariable   = "{DragDrop.Draggables}",
                                                   IScriptCommand nextCommand  = null)
        {
            string queryDropResultVariable = "{DragDrop.QueryDropResult}";

            return(DragDropScriptCommands.UpdateAdornerPointerPosition(adornerVariable,
                                                                       DragDropScriptCommands.UpdateAdornerDraggables(adornerVariable, draggablesVariable,
                                                                                                                      HubScriptCommands.QueryDropEffects(iSupportDropVariable, draggablesVariable, null, null, queryDropResultVariable, false,
                                                                                                                                                         DragDropScriptCommands.UpdateAdornerText(adornerVariable, dragMethodVariable, draggablesVariable,
                                                                                                                                                                                                  queryDropResultVariable, iSupportDropVariable, nextCommand)))));
        }