code: function(fragment, options={}) {
  
      // Default trigger to true unless otherwise specified
      (options.trigger === undefined) && (options.trigger = true);
  
      // Stringify any data passed in the options hash
      var query = options.data ? (~fragment.indexOf('?') ? '&' : '?') + $.url.query.stringify(options.data) : '';
  
      // Un-Mark any `active` links in the page container
      var $container = $(this.config.containers).unMarkLinks();
  
      // Navigate to the specified path. Return value is the value from the router
      // callback specified on the component
      var resp = Backbone.history.navigate(fragment + query, options);
  
      // Always return a promise. If the response of `Backbone.histroy.navigate`
      // was a promise, wait for it to resolve before resolving. Once resolved,
      // mark relevent links on the page as `active`.
      return new Promise(function(resolve, reject) {
        if(resp && resp.constructor === Promise) resp.then(resolve, resolve);
        resolve(resp);
      }).then(function(resp){
        $container.markLinks();
        return resp;
      });
    }
docs: Modify navigate to default to `trigger=true` and to return the value of `Backbone.history.navigate` inside of a promise.