private void RegisterViewModelUnload(FrameworkElement pageElement, IViewModel viewModel) { pageElement.ObserveUnloaded(_dispatcherScheduler) .ObserveOn(_backgroundScheduler) .SelectMany(async (_, ct) => { await viewModel.Unload(ct); return Unit.Default; }) .Subscribe(_ => { }, e => { }) .DisposeWith(viewModel.LongDisposables); }