public PitStopRequestReply Request(PitStopRequest request)
        {
            var corrId = Guid.NewGuid().ToString();
            var props  = channel.CreateBasicProperties();

            props.ReplyTo       = replyQueueName;
            props.CorrelationId = corrId;

            channel.BasicPublish(exchange: "",
                                 routingKey: "rpc_queue",
                                 basicProperties: props,
                                 body: PitStopRequest.Serialize(request));

            while (true)
            {
                var ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue();
                if (ea.BasicProperties.CorrelationId == corrId)
                {
                    return(PitStopRequestReply.Deserialize(ea.Body));
                }
            }
        }