internal void ComponentRemoved(Entity mEntity, Component mComponent)
        {
            var componentType = mComponent.GetType();

            _components[componentType].Remove(mComponent);
            _componentEntities[componentType].Remove(mEntity);
        }
        internal void ComponentAdded(Entity mEntity, Component mComponent)
        {
            var componentType = mComponent.GetType();

            if (!_components.ContainsKey(componentType))
            {
                _components.Add(componentType, new HashSet<Component>());
                _componentEntities.Add(componentType, new HashSet<Entity>());
            }

            _components[componentType].Add(mComponent);
            _componentEntities[componentType].Add(mEntity);
        }