code: function(resolve, reject) {
            var promise = this._sync.ready();
            if( arguments.length ) {
              // allow this method to be called just like .then
              // by passing any arguments on to .then
              promise = promise.then.call(promise, resolve, reject);
            }
            return promise;
          }
docs: The loaded method is invoked after the initial batch of data arrives from the server.
  When this resolves, all data which existed prior to calling $asArray() is now cached
  locally in the array.
  
  As a shortcut is also possible to pass resolve/reject methods directly into this
  method just as they would be passed to .then()
  
  @param {Function} [resolve]
  @param {Function} [reject]
  @returns a promise