public BurningViewModelController(BurningViewModel ViewModel, int CellKindId, IEventAggregator EventAggregator, ISettingsService SettingsService,
                                          IValidationContext ValidationContext, IProjectAssembler ProjectAssembler, IBurningService BurningService)
        {
            _viewModel = ViewModel;
            _settingsService = SettingsService;
            _validationContext = ValidationContext;
            _projectAssembler = ProjectAssembler;
            _burningService = BurningService;
            _cellKindId = CellKindId;
            _viewModel.SelectedBurningMethodChanged += ViewModelOnSelectedBurningMethodChanged;

            foreach (BurningOptionViewModel burningOption in _viewModel.BurningOptions)
                burningOption.Activated += BurningOptionOnActivated;

            string preferredBurningMethod = _settingsService.GetPreferredBurningMethod(CellKindId);
            _viewModel.SelectedBurningMethod =
                _viewModel.BurningMethods.FirstOrDefault(m => m.Name == preferredBurningMethod)
                ?? _viewModel.BurningMethods.FirstOrDefault();
            EventAggregator.GetEvent<ProjectChangedEvent>().Subscribe(OnProjectChanged);
        }