The launcher library is currently restricted to launching apps as child processes. That is fine for a lot of cases, especially if the app is running in client mode.
But in certain cases, especially launching in cluster mode, it's more efficient to avoid launching a new process, since that process won't be doing much.
We should add support for launching apps in process, even if restricted to cluster mode at first. This will require some rework of the launch paths to avoid using system properties to propagate configuration.