I think that since all of the calls are going to end up being to the API in the end, they will originate from the caller's thread id like normal. It's really just storing a reference to the enum's task, and if you look at the example, it's a very simple one that doesn't store any data in the Task objects at all. The given example would work as intended, and it will work for very simple tree structures; I can see that you would be correct about more complex bots if they are trying to have persistent storage. I'm working on a second example in the "dynamic" directory that works entirely different and will be for complex bots. If you have an example, it would be great if you could fork that repo and add it too