onNotifyWorld(source, message, data) {
    let notifiableParent = this._notifiableParent
    if (notifiableParent) {
      notifiableParent.onNotifyWorld.call(notifiableParent, source, message, data)
    } else {
      // Optimization: on first call, walk up the tree looking for the first ancestor with a
      // non-default onNotifyWorld implementation, and save a pointer to that ancestor
      // facade so we can just call it directly the next time without any tree walking.
      notifiableParent = this.parent
      let defaultImpl = Facade.prototype.onNotifyWorld
      while (notifiableParent) {
        if (notifiableParent.onNotifyWorld !== defaultImpl) {
          this._notifiableParent = notifiableParent
          notifiableParent.onNotifyWorld(source, message, data)
          break
        }
        notifiableParent = notifiableParent.parent
      }
    }
  }
Default onNotifyWorld handler just bubbles it up the parent chain.