public virtual void Run(ChocolateyGuiConfiguration config)
        {
            switch (config.FeatureCommand.Command)
            {
            case FeatureCommandType.List:
                _configService.ListFeatures(config);
                break;

            case FeatureCommandType.Disable:
                _configService.DisableFeature(config);
                break;

            case FeatureCommandType.Enable:
                _configService.EnableFeature(config);
                break;
            }
        }
        public async Task UpdateChocolateyGuiFeature(ChocolateyGuiFeature feature)
        {
            var configuration = new ChocolateyGuiConfiguration();

            configuration.CommandName         = "feature";
            configuration.FeatureCommand.Name = feature.Title;

            if (feature.Enabled)
            {
                configuration.FeatureCommand.Command = FeatureCommandType.Enable;
                await Task.Run(() => _configService.EnableFeature(configuration));
            }
            else
            {
                configuration.FeatureCommand.Command = FeatureCommandType.Disable;
                await Task.Run(() => _configService.DisableFeature(configuration));
            }

            _eventAggregator.PublishOnUIThread(new FeatureModifiedMessage());
        }