Heavier tasks should be run in separate processes.
As the codebase grows, tasks will take up more memory, so, either we
A. Count the number of files that are to be processed (from the path arg) and then decide if that task should be run in a separate process.
B. Let the caller decide if the task should be run in a separate process.
C. Both A & B.
Also need to look into benchmarking heavier tasks.