public void RemoveComponent(IBaseComponent child_)
        {
            Type type = child_.GetType();

            if (_children.ContainsKey(type) && _children[type].Contains(child_))
            {
                Debug.Log(GetType().Name + " -> removeChild :: " + child_.GetType().Name);
                _children[type].Remove(child_);
                child_.Release();
                child_ = null;
            }
        }