conceptually, no reason a tool should know what an "agent action" is unless any objections, can change in all callback handlers
* Support a callback `on_llm_new_token` that users can implement when `OpenAI.streaming` is set to `True`