Streamed response should contain at the bottom layer StreamInterface implementation and provide a way to link userland code with a stream.
Also need to implement tracking of client existance, for example if client was disconnected from the server while the server is streaming response - there is no need to continue streaming, this can save a lot of CPU time.