Adding a PumpStream that allows iterator and callable based streaming