public SettingsViewModel(IApplicationService applicationService, IEnvironmentalService environmentalService) { SyncWithGitHub = applicationService.Account.SyncWithGitHub; LogoutCommand = ReactiveCommand.Create(); LogoutCommand.Select(_ => new LogoutMessage()).Subscribe(x => applicationService.Logout()); GoToSourceCode = ReactiveCommand.Create(); GoToSourceCode.Subscribe(_ => { var vm = CreateViewModel <RepositoryViewModel>(); vm.RepositoryIdentifier = new BaseRepositoryViewModel.RepositoryIdentifierModel("thedillonb", "repostumble"); ShowViewModel(vm); }); Version = environmentalService.ApplicationVersion; this.WhenAnyValue(x => x.SyncWithGitHub).Skip(1).Subscribe(x => { applicationService.Account.SyncWithGitHub = x; applicationService.Account.Save(); }); }