public Model( IModelParameters parameters, 
               IModelDependencies dependencies )
 {
     this.InitializePrivateProperties( parameters, dependencies );
     this.InitializePublicProperties();
     this.RegisterToPropertyChangedEvents();
 }
        private void InitializePrivateProperties( IModelParameters parameters, 
                                                  IModelDependencies dependencies )
        {
            this._isInstalled = parameters.IsInstalled;
            this._osConfigModelFactory = dependencies.OsConfigurationModelFactory;
            this._programInfoVM = parameters.ProgramInfoVM;

            var definitionParams = new Win32.Model.DefinitionParametersDTO
            {
                ApplicationInfo = this._programInfoVM.ApplicationInfo,
                OsConfigurationInfos = this._programInfoVM.OsConfigs
            };
            this._definition = dependencies.DefinitionFactory.Get( definitionParams );
        }