public AppManager(IActivityMonitor activityMonitor, ISettingsManager manager) { monitor = activityMonitor ?? throw new ArgumentNullException(nameof(activityMonitor)); settingsManager = manager ?? throw new ArgumentNullException(nameof(manager)); ActivateCommand = new RelayCommand(() => { monitor.Activate(); OnPropertyChanged(nameof(IsActive)); }, () => !monitor.IsActive); DeactivateCommand = new RelayCommand(() => { monitor.Deactivate(); OnPropertyChanged(nameof(IsActive)); }, () => monitor.IsActive); ShowSettingsCommand = new RelayCommand(ShowSettings_Execute, () => !showingSettings); ExitCommand = new RelayCommand(() => Application.Current.Shutdown()); }