Public worker api so this module is useful for tests too

This intentionally allows the error to "bubble" up from the promise chain in the caller (in the example it handles the catch case)