code: function Router(options) {
      EventEmmiter.call(this);
  
      var defaults = {
          routeNameFormat: null,
          version: null,
          url: null
      };
  
      this.routes = [];
      this.options = options = _.assign(defaults, options || {});
  
      if (!options.url) {
          throw new RouterError('Invalid Router url - got ' + options.url + '');
      }
  }
docs: emitted with each {@link RouterInterface#buildRoute} method call.
  
  @event RouterInterface#build-route
  @property {Route} route
   
  Holds {@link RouteInterface} definition objects which have common part of a url path
  
  @param {Object} options
  @param {String} [options.routeNameFormat] - will be used to format route UID string. Should contain placeholders: `{method}` & `{name}` `{version}`
  @param {String} [options.version] - will be part of route path
  @param {String} options.url - relative endpoint
  
  @emits RouterInterface#build-route
  @alias RouterInterface
  @constructor