public static T InstantiateObject()
    {
        T obj = new T();

        OnObjectInstantiated?.Invoke(obj);
        return(obj);
    }
 public void RaiseObjectInstantiated(T obj)
 {
     OnObjectInstantiated?.Invoke(obj);
 }
 public void RaiseObjectInstantiated()
 {
     OnObjectInstantiated?.Invoke();
 }