The pattern that I prefer does not involve Generators.worker. Here are two examples.
For Voronoi Stippling, the worker is created in the canvas cell. The image data, canvas dimensions, and number of points is sent to the worker by postMessage, and then the canvas cell listens to the points computed by the worker to redraw the canvas. The invalidation promise is used to terminate the worker if the canvas cell is invalidated.
Here, Generators.observe is used to listen to the worker, so that the latest value computed by the worker is available as a reactive value (the digits cell).
In both cases the worker script is defined as a Blob URL which is revoked on invalidation (when you edit the script).