trainStep
Performs a single, incremental training step based on new interaction data.
This method should be non-blocking. It should ideally offload the actual training computation to a background thread using the provided engineScope from initialize.
Return
A Job representing the asynchronous learning task, allowing the caller to optionally track its completion or handle cancellation.
Parameters
data
The new InteractionData to learn from.