/// <summary>
 /// Register a new route with strongly types for View and ViewModel
 /// </summary>
 /// <typeparam name="TViewModel">The type of ViewModel</typeparam>
 /// <typeparam name="TView">The type of View</typeparam>
 /// <param name="route">The route</param>
 public static void RegisterRoute <TViewModel, TView>(string route)
     where TView : Xamarin.Forms.Page
     where TViewModel : FreshBasePageModel
 {
     XFreshPageModelMapper.RegisterPair <TViewModel, TView>();
     RegisterRoute <TViewModel>(route);
 }
        /// <summary>
        /// Register a new route with given route info
        /// </summary>
        /// <param name="routeInfo">The route</param>
        public static void RegisterRoute(FreshRouteInfo routeInfo)
        {
            if (false == routeInfo.IsValid())
            {
                return;
            }

            XFreshPageModelMapper.RegisterPair(routeInfo.ViewModelType, routeInfo.ViewType);
            RegisterRoute(routeInfo.Route, routeInfo.ViewModelType);
        }