public static IScatter <TResponse> Scatter <TRequest, TResponse>(this IScatterGatherBus messageBus, string topic, TRequest request)
        {
            Assert.ArgumentNotNull(messageBus, nameof(messageBus));
            var envelope = messageBus.EnvelopeFactory.Create(topic, request);

            return(messageBus.ScatterEnvelope <TRequest, TResponse>(envelope));
        }