static async Task Main(string[] args)
        {
            Console.Title = "Load Generator";

            var endpointConfiguration = new EndpointConfiguration("LoadGenerator");

            endpointConfiguration.ApplyCommonNServiceBusConfiguration(enableMonitoring: false);
            endpointConfiguration.SendOnly();

            var endpoint = await Endpoint.Start(endpointConfiguration)
                           .ConfigureAwait(false);

            Console.WriteLine("Press ▲/▼ arrows to increase/decrease messages per second");
            Console.WriteLine("Press S to cause a spike of 25 messages");
            Console.WriteLine("Press P to pause/unpause message sending");
            Console.WriteLine("Press ESC key to exit");

            var producer     = new MessageProducer(endpoint);
            var producerTask = producer.Run();

            await UILoop(producer);

            producer.Stop();
            await producerTask;

            await endpoint.Stop()
            .ConfigureAwait(false);
        }