public virtual IRouter To <TController>(Action <IRouteConfiguratorExtras> config)
        {
            RouteConfiguratorExtras extras = new RouteConfiguratorExtras();

            config(extras);

            return(Router.AddRoute(Name, new WebRoute <TController>(Route, extras.BuildDefaults(), extras.BuildConstraints(), null, null)));
        }
        public override IRouter To <TController>(Action <IRouteConfiguratorExtras> config)
        {
            RouteConfiguratorExtras extras = new RouteConfiguratorExtras();

            config(extras);

            var defaults = extras.BuildDefaults();

            defaults["action"]     = action;
            defaults["controller"] = typeof(TController).Name.Replace("Controller", "");

            //TODO: Bad use of RouteTable here, we should use the configuration.Routes instead.
            //      but I have yet to get that to work though.
            RouteTable.Routes.MapRoute(Name, Route, defaults);
            return(Router);
        }