Rebased ProcessRunner and renamed to SubProcess