In reply to Leonardo Losoviz.

I think that a core SW API should provide these pre-baked solutions (e.g. for caching strategies) that they can use with minimal configuration (perhaps powered by Workbox), but then also provide a way for themes and plugins to register custom logic to run in the service worker, for example to handle notifications, background sync, and so on. We should encourage the use of the WP abstraction layer when possible, as it could allow us to do conflict detection (such as two plugins requesting different caching strategies for the same route). But by allowing raw access to the generated service worker script, we allow themes and plugins to leverage all of the capabilities that a SW makes available.