public override sealed void HandleEvent(InstanceEvent evnt, IInstanceState state)
        {
            InstanceEvent.Types type = evnt.Type;
            if (type == InstanceEvent.Types.InstanceDirty)
            {
                Component.Propagate(state);
            }
            else
            {
                switch (type)
                {
                case InstanceEvent.Types.InstanceAdded:
                    Component.SetInstanceLive(this, true);
                    break;

                case InstanceEvent.Types.InstanceRemoved:
                    Component.SetInstanceLive(this, false);
                    break;
                }
                HandleEventHook(evnt, state);
            }
        }
 public SimulationInstanceEvent(InstanceEvent.Types type, SimulationModel simModel) : base(type)
 {
     this.SimulationModel = simModel;
 }