added Command abstraction into ProcessExecutor