public QueuedCorroutine Next(IEnumerator enumerator)
 {
     next = new QueuedCorroutine(monoBehaviour, enumerator)
     {
         prev = this
     };
     return(next);
 }
 public QueuedCorroutine Next(QueuedCorroutine next)
 {
     this.next      = next;
     this.next.prev = this;
     return(next);
 }
 public DelayAction(MonoBehaviour mono, Action action, float time)
 {
     this.time   = time;
     this.action = action;
     QueuedCorroutine.Create(mono, First()).Next(Enumerator()).Execute();
 }