Add support for streaming data beyond plain text, for e.g. reasoning tokens from LLM responses. Current implementation only stores plain text strings