Extracted "pure" Consumer + introduced PublishingContext.