public static ExternalCoroutinesExecutor ExecuteExternally(this ExternalCoroutinesExecutor executer)
 {
     CoroutinesWrappersUpdater.GetInstance()?.AddCoroutineExecutor(executer);
     return(executer);
 }
 public void AddCoroutineExecutor(ExternalCoroutinesExecutor coroutineWrapper)
 {
     coroutinesWrappers.Add(coroutineWrapper);
 }
 public void RemoveCoroutineExecutor(ExternalCoroutinesExecutor coroutineWrapper)
 {
     coroutinesWrappers.Remove(coroutineWrapper);
 }
 public static ExternalCoroutinesExecutor RemoveFromExternalExecutor(this ExternalCoroutinesExecutor executer)
 {
     CoroutinesWrappersUpdater.GetInstance()?.RemoveCoroutineExecutor(executer);
     return(executer);
 }