function notifyList(i) {
    // Set this timeout before invoking the callback, so we don't have to
    // concern ourselves with exceptions.
    if (i < list.length - 1) {
      setTimeout(notifyList, 0, i + 1);
    }

    list[i](e);
  }
Publish a message about a subject.

Subscribers (and the optional final callback) are invoked asynchronously.
This method will return before anyone is actually notified.

@param {string} subject The subject to publish about.
@param {?Object=} e An arbitrary object associated with this notification.
@param {function(!Object)=} lastCallback An optional function to call
    after all subscribers have been notified.