Deserialize TxJob from JSON, togther with continue you can stoe the JSON in the database (or some other persistency) then rebuild it.
usage
letlet jobjob == newnew TxJobTxJob(); // or create througth the TxJobRegistry
job.add(TxMountPointRegistry.instance.get('GITHUB::GIST::C1'));
job.add(TxMountPointRegistry.instance.get('GITHUB::GIST::C2'));
job.add(TxMountPointRegistry.instance.get('GITHUB::GIST::C3'));
// run one step, C1Component is running
job.step(new TxTask(
'step-1',
'',
{something: 'more data here'})
);
let other = (new TxJob()).upJSON(job.toJSON());
// running the remaining C2Component and C3Component
other.continue(new TxTask(
'continue',
'',
{something: 'more data here'})
);