Carry objects through bpmn and dmn processes

Looking at the following example

I have a user thats loaded in the “Load User” task.

Then after that a parrallel process is kicked of to enrich the user with before joining for the final task.

Now in the final task, can I not have access to the User Object that was created in the first Load User task? I could pass in the UserObject json string as a variable but that feels a bit clunky to me? Reloading it form the datasource seems like a less efficient way?

Any suggestions?

I think a common approach is to store a variable.