public Promise Then(Promise promise)
 {
     GetContinuation().Continuation = promise;
     return(this);
 }
 private void OnFinished(Promise promise)
 {
     Continuation      = null;
     promise.Finished -= OnFinished;
     OnFinished();
 }