I have been planning to write this post for a few months now but always seem to
have found something new to add. This all started when I decided to look at the
RabbitMQ .NET Client source code
[https://github.com/rabbitmq/rabbitmq-dotnet-client] to see if I could make
improvements