public static async Task ProcessMessage(TextWriter log, ILogger logger)
        {
            var forwarder = new BlobStorageForwarder(new MessagesBlobStorageRepository(logger), logger);

            var token = new CancellationToken();

            var telemetryClient = new TelemetryClient(TelemetryConfiguration.Active);

            var bus = Bus.Factory.CreateUsingAzureServiceBus(cfg =>
            {
                var connectionString = ConfigurationManager.ConnectionStrings["ServiceBusConnectionString"]
                                       .ConnectionString;

                cfg.Host(connectionString, configurator => { });
                cfg.ReceiveEndpoint("BlobStorageForwarder", e => { e.Consumer(typeof(StatusUpdateConsumer), type => new StatusUpdateConsumer(forwarder, logger, telemetryClient)); });
            });

            await bus.StartAsync(token);
        }
 internal StatusUpdateConsumer(BlobStorageForwarder forwarder, ILogger logger, TelemetryClient telemetryClient)
 {
     _forwarder       = forwarder;
     _logger          = logger;
     _telemetryClient = telemetryClient;
 }