/// <summary>
 /// Called when an environment model template is added to a planet template
 /// </summary>
 private void OnTemplateAdded( IComposite<IPlanetEnvironmentModelTemplate> composite, IPlanetEnvironmentModelTemplate component )
 {
     IPlanetEnvironmentModel model = m_ModelFactory.CreateModel( component );
     if ( model == null )
     {
         return;
     }
     model.PlanetModel = m_Planet.Model;
     component.SetupInstance( model, m_Context );
     m_ModelMap.Add( component, model );
 }
 /// <summary>
 /// Called when an environment model template is removed from a planet template
 /// </summary>
 private void OnTemplateRemoved( IComposite<IPlanetEnvironmentModelTemplate> composite, IPlanetEnvironmentModelTemplate component )
 {
     IPlanetEnvironmentModel model;
     if ( !m_ModelMap.TryGetValue( component, out model ) )
     {
         return;
     }
     model.PlanetModel = null;
 }