message: Context.dispose returns promise which resolves when the context is closed
diff: @@ -288,11 +288,12 @@ define(["Tone/core/Tone", "Tone/core/Emitter", "Tone/core/Timeline"], function (
  });
  /**
  - * Clean up
  - * @returns {Tone.Context} this
  + * Unlike other dispose methods, this returns a Promise
  + * which executes when the context is closed and disposed
  + * @returns {Promise} this
  */
  Tone.Context.prototype.dispose = function(){
  - Tone.Context.emit("close", this);
  + return this.close().then(function(){
  Tone.Emitter.prototype.dispose.call(this);
  this._ticker.dispose();
  this._ticker = null;
  @@ -302,8 +303,7 @@ define(["Tone/core/Tone", "Tone/core/Emitter", "Tone/core/Timeline"], function (
  this._constants[con].disconnect();
  }
  this._constants = null;
  - this.close();
  - return this;
  + }.bind(this));
  };
  /**
  