private void AddComponentImmediate(GameComponent component)
        {
            if (Components.ContainsKey(component.GlobalID))
            {
                if (Object.ReferenceEquals(Components[component.GlobalID], component))
                {
                    return;
                }
                throw new InvalidOperationException("Attempted to add component with same ID as existing component.");
            }

            Components[component.GlobalID] = component;

            if (component is MinimapIcon)
            {
                MinimapIcons.Add(component as MinimapIcon);
            }

            foreach (var system in World.UpdateSystems)
            {
                system.ComponentCreated(component);
            }

            component.ProcessTransformChange();
        }