refactor: handling a stream method with a given block

A step further to slicing the big stream method into smaller chunks. I do not know if the names are correct though.

Done while killing time while in transit. :P