This misses the final, most important part of actually creating a service worker object and sending the script over to it in a WebWorker process.
Now we can register jobs and they will be executed on the event loop "later". This doesn't feel like the right place to execute them, but the spec needs some updates in this regard anyway.
This is mostly the fun boilerplate. Actually creating the Job queue to do the heavy lifting is next.