public void RemoveGroup(GroupPanel _group)
 {
     if (groups.Remove(_group))
     {
     }
     onGroupRemoved?.Invoke(_group);
 }
        public static GroupPanel Create(string _title, Vector2 _position)
        {
            GroupPanel group = new GroupPanel();

            group.title             = _title;
            group.position.position = _position;
            group.position.size     = Vector2.one * 300;
            return(group);
        }
        public void AddGroup(string _title, Vector2 _position)
        {
            GroupPanel group = GroupPanel.Create(_title, _position);

            AddGroup(group);
        }
        //public void AddStackNode(StackPanel _stack)
        //{
        //    _stack.Enable(this);
        //    stacks[_stack.GUID] = _stack;
        //    onStackAdded?.Invoke(_stack);
        //}

        //public void RemoveStackNode(StackPanel _stack)
        //{
        //    stacks.Remove(_stack.GUID);
        //    onStackRemoved?.Invoke(_stack);
        //}

        public void AddGroup(GroupPanel _group)
        {
            _group.Enable(this);
            groups.Add(_group);
            onGroupAdded?.Invoke(_group);
        }