Yeah. Now to think of it using cancel in `timeout_deferred` doesn't seem right. Could you raise `TimeoutException` from `timeout_deferred` and trap it here and raise `WorkerTimeoutError`? It'll be cool if we have chained exceptions.