I think `projects` are in scope, no need to pass them around. You could also inline `doClean` inside `runInWorkspace` and save the "tunnelling" of `monitor`, but that's up to you.