public async Task SendAsync <T>(T obj) where T : BaseQueueMessage
        {
            var queueReference = _queueClientFactory.GetClient().GetQueueReference(obj.Route);
            await queueReference.CreateIfNotExistsAsync();

            var serializedMessage = _serializer.Serializer(obj);
            var queueMessage      = new CloudQueueMessage(serializedMessage);

            await queueReference.AddMessageAsync(queueMessage);
        }