Nice use of fat arrow functions to simplify these function declarations! You probably already know this, but fat arrow functions with a single parameter don't need to enclose that parameter in parentheses, so this could be:

      stdout: data => {
        emit(this, "stdout", data);
      },

You can even omit the brackets and make this a one-liner:

      stdout: data => emit(this, "stdout", data),

Although I'm not sure either simplification is worth it. The second one in particular seems misleading, since it returns the return value of emit(), which suggests that the return value has significance, even though it doesn't.