It'd be nice during this rework to put the callback fn back in the last argument. We could do the usual JavaScript cleverness supporting an optional middle argument, or just have `runWorker` call `forceRunWorker` and also expose that function.

Semi-relatedly, this function is terrifying in size.