Creating a new worker for every invocation can be rather slow when dispatching small tasks. How about adding a pool of workers?