refactor(launcher): make launcher use child process messages instead of messing with the env