s/stdout_pipe/message_pipe/
C++11 guarantees that static local variables are initialized thread-safely, so do that instead of the dumb template trick