EE-3372: Refactoring so that logic is reusable
EE-3372: Refactoring so that logic is reusable
EE-3372: Adding a Producer to allow streaming through large listable stores
EE-3372: Adding documentation and a new Producer to allow streaming through queues