code: function () {
          if (this.hasFnState()) {
              return when.resolve();
          }
  
          //if we don't have a message pending, send one.
          if (!this._describeDfd) {
              this.sendMessage("Describe");
              this._describeDfd = when.defer();
          }
  
          //let everybody else queue up on this promise
          return this._describeDfd.promise;
      }
docs: Checks our cache to see if we have the function state, otherwise requests it from the core,
  listens for it, and resolves our deferred on success
  @returns {*}