public Task ListenAsync(CancellationToken cancellationToken = default)
        {
            if (handlers != null)
            {
                _receiver.OnMessageReceived += async(sender, msg) =>
                {
                    var dsMes = await _serializer.DeserializeAsync(msg);

                    handlers?.Invoke(sender, dsMes);
                };
            }
            return(_receiver.ListenAsync());
        }
        public Task ListenAsync(CancellationToken cancellationToken = default)
        {
            _logger.LogInformation($"rabbit mq subscriber has started listening.");

            if (receivedHandlers != null)
            {
                _transportReceiver.OnMessageReceived += async(sender, msg) =>
                {
                    var message = await _serializer.DeserializeAsync(msg);

                    receivedHandlers?.Invoke(sender, message);
                };
            }

            return(_transportReceiver.ListenAsync(cancellationToken));
        }