Both getWorkingDir and buildParamsAndExecute  could potentially be extracted out of here. Or perhaps made explicitly private? I stole getWorkingDir from elsewhere but it was tied to specific parameter types