public ToolbarManager(IControl control, ToolbarPanel parent)
        {
            if (parent == null)
            {
                throw new ArgumentNullException(nameof(parent));
            }

            grip = new Grip();
            ToolbarPanel.SetDockDirection(grip, ToolbarPanel.DockDirection.None);
            grip.PointerPressed  += ClickArea_PointerPressed;
            grip.PointerReleased += ClickArea_PointerReleased;
            grip.PointerMoved    += ClickArea_PointerMoved;

            this.GetObservable(ToolbarEndProperty).Subscribe((_) =>
            {
                parent?.InvalidateArrange();
            });

            Transitions = new Transitions();

            Transitions.AddRange(positionTransitions);

            this.parent  = parent;
            childToolbar = control;
            parent.Children.Add(grip);
        }