public override async Task InvokeAsync(IPipeContext context, CancellationToken ct)
            {
                var msgType = context.GetMessageType();

                _logger.Information("Message of type {messageType} just published", msgType.Name);
                await Next.InvokeAsync(context, ct);
            }
        protected virtual QueueDeclaration GetQueueDeclaration(IPipeContext context)
        {
            var declaration = QueueDeclarationFunc?.Invoke(context);

            if (declaration != null)
            {
                return(declaration);
            }
            var messageType = context.GetMessageType();

            return(CfgFactory.Create(messageType));
        }