internal MyConnection(
            string name,
            string[] uris,
            IMyConnectorFactory connectorFactory,
            IMySubscriptionManagerFactory subscriptionManagerFactory)
        {
            this._name = name;
            this._uris = uris;

            var connector = connectorFactory.Create(this._uris, this);
            this._subscriptionManager = subscriptionManagerFactory.Create(this._name, connector);

            this.Connected += this._subscriptionManager.OnConnected;
            this.Disconnected += this._subscriptionManager.OnDisconnected;
        }
        internal MyConnection(
            string name,
            string[] uris,
            IMyConnectorFactory connectorFactory,
            IMySubscriptionManagerFactory subscriptionManagerFactory)
        {
            this._name = name;
            this._uris = uris;

            var connector = connectorFactory.Create(this._uris, this);

            this._subscriptionManager = subscriptionManagerFactory.Create(this._name, connector);

            this.Connected    += this._subscriptionManager.OnConnected;
            this.Disconnected += this._subscriptionManager.OnDisconnected;
        }