code: function () {
                      if (this._notificationsSent && !this._externalBegin && !this._endNotificationsPosted) {
                          this._endNotificationsPosted = true;
                          var that = this;
                          Scheduler.schedule(function ItemsManager_async_endNotifications() {
                              that._endNotificationsPosted = false;
                              that._endNotifications();
                          }, Scheduler.Priority.high, null, "WinJS.UI._ItemsManager._postEndNotifications");
                      }
                  }
docs: Some functions may be called synchronously or asynchronously, so it's best to post _endNotifications to avoid calling it prematurely.