        /// <param name="parameter">ViewModel specific parameter.</param>
        /// <returns>A Task.</returns>
        Task NavigateToAsync<TViewModel>(object parameter)
            where TViewModel : ViewModelBase;

        /// <summary>
        /// Navigates to a specific view based on the provided ViewModel.
        /// </summary>
        /// <param name="viewModelType">The ViewModel of the View of interest.</param>
        /// <returns>A Task.</returns>