+= is blockGenerators API, not block managers. Also api -> API. And the blockGenerator does the job of dividing the received data into blocks.

On a related note, a different thought occurred to me. The whole blockGenerator deal can be made much simpler. It could be that the blockGenerator is defined in the NetworkReceiver class for everyone to use, and calls to add data (that is, the += ) can be simply wrapped in a function NetworkReceiver.pushData. Then all the user has to do call pushData and not worry about creating a blockGenerator. What do you think?