private void AddComponents(ItemComponent handle, int level = -1)
        {
            var componentsToAdd = Random.NextInt(1, handle.Connectors.Count);

            for (var i = 0; i < componentsToAdd; i++)
            {
                if (!handle.CanAddComponent())
                {
                    break;
                }

                var component = level < 0 ? componentFactory.Create() : componentFactory.CreateWithItemLevel(level);

                handle.AddComponent(component);
            }
        }