code: function(inputRoutes) {
  			pageRoutes = inputRoutes || {};
  
  			// Turn the routes globs into regular expressions...
  			parseRoutes();
  
  			var me = this;
  
  			// Bind the document click listener to all anchor tags
  			$(document).on('click.router', 'a', function(e) {
  				// Append the query string to the end of the pathname
  				var url = e.target.pathname + e.target.search;
  
  				// Stop the event here and we can handle it
  				e.preventDefault();
  				e.stopPropagation();
  
  				// Check the hash and the URL and make sure they aren't the same
  				// and then navigate (in the case of an anchors href='#')
  				if (url !== history.state.hash) {
  					me.route({}, '', url);
  				}
  			});
  
  			window.onpopupstate = function() {
  				var state = history.state,
  					url = state.hash;
  
  				me.route({}, '', url);
  			};
  
  			history.pushState({}, '', application.getGlobal('location').pathname);
  		}
docs: Initialization that has to be done when the navigation service is required
  by application code, sets up routes (which could be done later) and binds
  to the popstate/hashchange events (which have to happen now).
  @private
  @param {string[]} routes An array of special route strings
  @returns {void}