Connected more pieces:  a thread pool now runs the jobs, each item now needs a job-fn, and we also deliver the results of the function to the caller by way of a promise.