private Task HandleActivationAsync(INavigable viewModel, object parameter, NavigationMode navigationMode)
        {
            string viewModelName = viewModel.GetType().Name;

            _logging.WriteLine($"Executing {nameof(INavigable.ActivateAsync)} from new ViewModel ({viewModelName}) with parameter: {parameter}");

            _currentParameter = parameter;

            var suspensionState = GetSuspensionStateForPage(viewModelName);

            if (navigationMode == NavigationMode.New)
            {
                suspensionState.Clear();
            }

            return(viewModel.ActivateAsync(parameter, suspensionState, navigationMode));
        }