chunk_new takes data arg
renaming read to emit_cb and implementing propagating stream->end