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)); }