After researching service workers a bit, none of the tutorials seem to explicitly state what
self actuall is.
It’s a ServiceWorkerGlobalScope implementation.
The events passed to the
activate listeners are ExtenableEvent implementations. This is where the
waitUntil method comes from to force an event listener to wait until a promise resolves. The
install event listener will receive a InstallEvent specifically.