added a generic launcher that hides the underlying js runtime. choice of runtime is controlled by the  env var.
moved common logic to generic launcher
add some more explanation and added status