protected virtual void OnNavigationViewFragmentResumed(AndroidX.Fragment.App.FragmentManager fm, NavigationViewFragment navHostPageFragment)
 {
     if (IsInitialNavigation)
     {
         NavigationFinished(NavigationView);
     }
 }
        // Fragments are always destroyed if they aren't visible
        // The Handler/NativeView associated with the visible IView remain intact
        // The performance hit of destorying/recreating fragments should be negligible
        // Hopefully this behavior survives implementation
        // This will need to be tested with Maps and WebViews to make sure they behave efficiently
        // being removed and then added back to a different Fragment
        //
        // I'm firing NavigationFinished from here instead of FragmentAnimationFinished because
        // this event appears to fire slightly after `FragmentAnimationFinished` and it also fires
        // if we aren't using animations
        protected virtual void OnNavigationViewFragmentDestroyed(AndroidX.Fragment.App.FragmentManager fm, NavigationViewFragment navHostPageFragment)
        {
            _ = NavigationView ?? throw new InvalidOperationException($"NavigationView cannot be null");

            if (IsNavigating)
            {
                NavigationFinished(NavigationView);
            }
        }