Move implementation to cpp file.
Const correctness.
Add ProcessJob, a wrapper for external commands.