constructor() {
    this._deferred = {};
  }
A map of asynchronous values that can be get or set in any order. Unlike a
normal map, setting the value for a particular key more than once throws.
Also unlike a normal map, a key can either be resolved or rejected.