public void TransferPrefabToCategory(Prefab prefabToTransfer, PrefabCategory destinationCategory)
        {
            if (destinationCategory == this)
            {
                return;
            }

            if (ContainsPrefab(prefabToTransfer))
            {
                _prefabs.RemoveEntity(prefabToTransfer);
                destinationCategory.AddPrefab(prefabToTransfer);

                PrefabWasTransferredToCategoryMessage.SendToInterestedListeners(prefabToTransfer, this, destinationCategory);
            }
        }
        public static void SendToInterestedListeners(Prefab prefab, PrefabCategory sourceCategory, PrefabCategory destinationCategory)
        {
            var message = new PrefabWasTransferredToCategoryMessage(prefab, sourceCategory, destinationCategory);

            MessageListenerDatabase.Instance.SendMessageToInterestedListeners(message);
        }