public SimplTransport Initialize(Action <string, object[]> send)
        {
            InternalSupportsDisconnect = false;
            InternalSupportsReconnect  = false;

            transport = new SimplTransport {
                Send = send
            };

            ConnectionTransport           = transport;
            DisplayProtocol               = new SspCompanyVideoDisplayProtocol(ConnectionTransport, Id);
            DisplayProtocol.EnableLogging = InternalEnableLogging;
            DisplayProtocol.CustomLogger  = InternalCustomLogger;
            DisplayProtocol.StateChange  += StateChange;
            DisplayProtocol.RxOut        += SendRxOut;
            DisplayProtocol.LoadDriver(DataFile);
            return(transport);
        }
        public void Initialize(IPAddress ipAddress, int port)
        {
            InternalSupportsDisconnect = false;
            InternalSupportsReconnect  = false;

            TcpTransport tcpTransport = new TcpTransport
            {
                EnableAutoReconnect = EnableAutoReconnect,
                EnableLogging       = InternalEnableLogging,
                CustomLogger        = InternalCustomLogger,
                EnableRxDebug       = InternalEnableRxDebug,
                EnableTxDebug       = InternalEnableTxDebug
            };

            tcpTransport.Initialize(ipAddress, port);
            ConnectionTransport = tcpTransport;

            DisplayProtocol = new SspCompanyVideoDisplayProtocol(ConnectionTransport, Id);
            DisplayProtocol.EnableLogging = InternalEnableLogging;
            DisplayProtocol.CustomLogger  = InternalCustomLogger;
            DisplayProtocol.StateChange  += StateChange;
            DisplayProtocol.RxOut        += SendRxOut;
            DisplayProtocol.LoadDriver(DataFile);
        }