/// <summary>
 /// Attach a navigation failed event handler to every region
 /// </summary>
 /// <param name="regions"></param>
 private void MonitorRegions(IEnumerable <IRegion> regions)
 {
     foreach (var region in regions)
     {
         Debug.WriteLine("RegionNavigationService: {0:X}", region.NavigationService.GetHashCode()); // prove that they're all unique
         var r = region;
         region.NavigationService.NavigationFailed += (s, e) =>
         {
             var msg = $"Error navigating to view {e.NavigationContext.Uri} for region {r.Name}";
             SessionLogger.Write(e.Error, msg);
             EventManager.GetEvent <GenericNotificationEvent>().Publish(msg);
         };
         region.NavigationService.Navigating += (s, e) =>
         {
             SessionLogger.Debug("Loading view: '{1}' for region '{0}'", r.Name,
                                 e.NavigationContext.Uri);
         };
         region.NavigationService.Navigated += (s, e) =>
         {
             SessionLogger.Debug("Loading complete: view '{1}' for region '{0}'", r.Name,
                                 e.NavigationContext.Uri);
         };
     }
 }