title: FreshMVVM Navigation throws an exception when leaving a Modal Page
body: <p>I am using a LocalNotification plugin(nuget) to generate a Phone
  Notification upon an event, which works fine. If the user navigates to
  a page which lists the notifications and selects one, it goes to the
  NotificationPageModel.cs page. From there they press a button which
  navigates them away, which works as long as it is manually navigated
  to.</p>
  
  <p>If the user clicks on the phone's notification
  (app.xaml.cs:OnLocalNotificationTapped) then when trying to navigate
  away,  it generates a FreshTinyIoC.TinyIoCResolutionException.</p>
  
  <p>How can I navigate away from the page when the user has clicked the
  notification (<code>masterDetailNav.Navigation.PushModalAsync(npage);</code>) ?</p>
  
  <p>Relevant versions: Xamarin.Forms    v3.6.0.264807 FreshMvvm v3.0.0
  Plugin.LocalNotification by Thudugala v4.0.5</p>
  
  <p>App.xaml.cs</p>
  
  <pre><code>void OnLocalNotificationTapped(NotificationTappedEventArgs e)
  {
      var _logger = FreshMvvm.FreshIOC.Container.Resolve&lt;ILoggingService&gt;();
      _logger.Info("Pressed notification: {0}", e.Data);
      Notification notification = new Notification();
      if (string.IsNullOrWhiteSpace(e.Data))
      {
          return;
      }
      else
      {
          notification = JsonConvert.DeserializeObject&lt;Notification&gt;(e.Data);
      }
  
      //CoreMethods.PushPageModel&lt;NotificationPageModel&gt;(notification); //cant find coremethods
      var npage = FreshPageModelResolver.ResolvePageModel&lt;NotificationPageModel&gt;(notification);
      masterDetailNav.Navigation.PushModalAsync(npage);
  }
  </code></pre>
  
  <p>NotificationPageModel.cs:</p>
  
  <pre><code>public async void Cancel()
  {
      _logger.Info("Notification {0} Cancel: {1}", Notification.Gateway, Notification.TimeStamp);
  
      //Navigate away from page
      //await CoreMethods.PopPageModel(); //this only works if manually navigated to
      //attempt #1
      await CoreMethods.PushPageModel&lt;HomePageModel&gt;();
  }
  
  public async void Remove()
  {
      _logger.Info("Notification {0} Remove: {1}", Notification.Gateway, Notification.TimeStamp);
  
      //Remove notification
      try
      {
          _user.Notifications.Remove(Notification);
      }
      catch (Exception ex)
      {
          _logger.Warn("Remove Notification: {0}", ex.Message);
      }
  
      //Navigate away from page
      //await CoreMethods.PopPageModel(); //this only works if manually navigated to
      //attempt #2
      var hpage = FreshPageModelResolver.ResolvePageModel&lt;HomePageModel&gt;();
      await CoreMethods.PushPageModelWithNewNavigation&lt;HomePageModel&gt;(hpage);
  }
  </code></pre>
  
  <p>Stacktrace</p>
  
  <blockquote>
    <p>FreshTinyIoC.TinyIoCResolutionException   Message=Resolve failed:
    IFreshNavigationService   Source=mscorlib   StackTrace:   at
    FreshTinyIoC.FreshTinyIoCContainer.ResolveInternal
    (FreshTinyIoC.FreshTinyIoCContainer+TypeRegistration registration,
    FreshTinyIoC.NamedParameterOverloads parameters,
    FreshTinyIoC.ResolveOptions options) [0x000f7] in
    C:\Projects\FreshMvvm\src\FreshIOC\FreshTinyIOC.cs:3142    at
    FreshTinyIoC.FreshTinyIoCContainer.Resolve (System.Type resolveType,
    System.String name) [0x00000] in
    C:\Projects\FreshMvvm\src\FreshIOC\FreshTinyIOC.cs:1211    at
    FreshTinyIoC.FreshTinyIoCContainer.Resolve[ResolveType] (System.String
    name) [0x00000] in
    C:\Projects\FreshMvvm\src\FreshIOC\FreshTinyIOC.cs:1332    at
    FreshMvvm.FreshTinyIOCBuiltIn.Resolve[ResolveType] (System.String
    name) [0x00000] in
    C:\Projects\FreshMvvm\src\FreshMvvm\FreshTinyIOCBuiltIn.cs:31    at
    FreshMvvm.PageModelCoreMethods.PushNewNavigationServiceModal
    (FreshMvvm.IFreshNavigationService newNavigationService,
    FreshMvvm.FreshBasePageModel[] basePageModels, System.Boolean animate)
    [0x00073] in
    C:\Projects\FreshMvvm\src\FreshMvvm\PageModelCoreMethods.cs:178    at
    FreshMvvm.PageModelCoreMethods.PushPageModelWithNewNavigation[T]
    (System.Object data, System.Boolean animate) [0x00060] in
    C:\Projects\FreshMvvm\src\FreshMvvm\PageModelCoreMethods.cs:235    at
    cdaxrobot.PageModels.NotificationPageModel.Go () [0x00225] in
    C:\Work\RobotApp\App\cdaxrobot\cdaxrobot\cdaxrobot\PageModels\NotificationPageModel.cs:113
    at
    System.Runtime.CompilerServices.AsyncMethodBuilderCore+&lt;>c.b__7_0
    (System.Object state) [0x00000] in
    /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1021
    at Android.App.SyncContext+&lt;>c__DisplayClass2_0.b__0 ()
    [0x00000] in &lt;11f101b564894ca7af6c482ddc51c698>:0    at
    Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in
    &lt;11f101b564894ca7af6c482ddc51c698>:0    at
    Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr
    native__this) [0x00009] in &lt;11f101b564894ca7af6c482ddc51c698>:0    at
    (wrapper dynamic-method)
    Android.Runtime.DynamicMethodNameCounter.41(intptr,intptr)</p>
  </blockquote>