/// <summary>
        /// Instantiates a new <see cref="Subscription" />
        /// </summary>
        /// <param name="payloadFactory">The <see cref="IPayloadFactory" /></param>
        /// <param name="connectionManager">The <see cref="IConnectionManager" /></param>
        /// <param name="sendDataProcessor">The <see cref="ISendDataProcessor" /></param>
        public Subscription(IPayloadFactory payloadFactory, IConnectionManager connectionManager,
                            ISendDataProcessor sendDataProcessor)
        {
            _payloadFactory    = payloadFactory;
            _connectionManager = connectionManager;
            _sendDataProcessor = sendDataProcessor;

            connectionManager.OnConnected += OnConnected;
        }
 /// <summary>
 /// Instantiates a new <see cref="BrokerClient" />
 /// </summary>
 /// <remarks>This object is recommended to be created using <see cref="BrokerClientFactory" /></remarks>
 /// <param name="payloadFactory">The <see cref="IPayloadFactory" /></param>
 /// <param name="connectionManager">The <see cref="IConnectionManager" /></param>
 /// <param name="sendDataProcessor">The <see cref="ISendDataProcessor" /></param>
 /// <param name="subscriptionStore">The <see cref="ISubscriptionStore" /></param>
 /// <param name="serializer">The <see cref="ISerializer" /></param>
 /// <param name="taskManager">The <see cref="ITaskManager" /></param>
 public BrokerClient(IPayloadFactory payloadFactory, IConnectionManager connectionManager,
                     ISendDataProcessor sendDataProcessor, ISubscriptionStore subscriptionStore, ISerializer serializer,
                     ITaskManager taskManager)
 {
     _payloadFactory    = payloadFactory;
     ConnectionManager  = connectionManager;
     _subscriptionStore = subscriptionStore;
     _sendDataProcessor = sendDataProcessor;
     _serializer        = serializer;
     _taskManager       = taskManager;
 }