Support an 'offline' event from the worker

This will signify that the worker is dying, so a new worker needs to be spun up. The exit event may not sent right away so the worker can spend some time to exit gracefully.