private async void PopulateSettings(object sender, Plugins.Settings.Views.PopulateSettingsEventArgs e)
        {
            using (e.GetDeferral())
            {
                try
                {
                    var modules = await _dcsWorldManager.GetInstalledAircraftModulesAsync();

                    var container          = e.Controller.GetChildContainer();
                    var viewportController = container.Resolve <ViewportController>();

                    e.AddCategory("VIEWPORTS", new ViewportSettingsViewModel(viewportController, e.Controller));

                    foreach (var module in modules)
                    {
                        var options = _viewportService.GetViewportOptionsByModuleId(module.ModuleId);

                        if (options.Length > 0)
                        {
                            e.AddCategory("VIEWPORTS", new ViewportOptionsViewModel(module, options, viewportController, e.Controller));
                        }
                    }
                }
                catch (Exception ex)
                {
                    GeneralExceptionHandler.Instance.OnError(ex);
                }
            }
        }
        public ViewportOption[] GetViewportOptions(string moduleId)
        {
            var options = _viewportService.GetViewportOptionsByModuleId(moduleId);

            foreach (var option in options)
            {
                if (_profileService.TryGetValue <object>(string.Format(ViewportProfileCategories.ViewportOptionsFormat, moduleId), option.Id, out var value))
                {
                    option.Value = value;
                }
            }

            return(options);
        }