OptionalonWhat should happen when the thread job was cancelled.
OptionalonWhat should happen when the thread job completes.
OptionalonWhat should happen when an error occurs inside the thread job.
OptionalonWhat should happen when a message is received from the thread job.
The function values of the thread job data. This is separated because this cannot be persisted in a data source.