public void Init(MssParameters mssParameters, 
            IWetMssEventOutputPort wetEventOutput,
            IDryMssEventInputPort dryEventInput,
            IHostInfoOutputPort hostInfoOutput)
        {
            this.mssParameters = mssParameters;
            this.wetEventOutput = wetEventOutput;
            this.dryEventInput = dryEventInput;
            this.hostInfoOutput = hostInfoOutput;

            this.wetEventOutput.WetMssEventsReceived +=
                new WetMssEventReceivedEventHandler(WetEventReceived);

            this.mssParameters.ParameterValueChanged +=
                new ParameterValueChangedEventHandler(ParameterValueChanged);

            this.hostInfoOutput.BeforeProcessingCycleEnd +=
                new ProcessingCycleEndEventHandler(OnBeforeProcessingCycleEnd);
        }
        protected void ConstructNonSerializableMembers()
        {
            this.sendEventsToHostTrigger = new SendMssEventsToHostTrigger();
            this.paramMsgHandler = new ParameterMsgHandler();
            this.dryMssEventHandler = new DryMssEventHandler();

            this._dryMssEventRelay = new DryMssEventRelay();
            this._wetMssEventRelay = new WetMssEventRelay();
            this._hostInfoRelay = new HostInfoRelay();

            this.mssEventGenrator = new MssEventGenerator();
            this._mssParameters = new MssParameters();
            this.msgEntryMetadataFactory = new Factory_MssMsgRangeEntryMetadata();
            this.msgInfoFactory = new Factory_MssMsgInfo();
            this.transformPresetMgr = new TransformPresetMgr();
            this.eventLogger = new EventLogger();
        }