Job returned by the doWhen function
Cancels the delay job, resolving correctly
The promise representing the delay job
Rejects the delay job, throwing an error
The ID of the timeout
Job returned by the doWhen function