We should wrap C++11 threads, to make sure the program can safely use multithread, ( even if they are not fully available in the compiler - TODO only if necessary ).
Then all components ( logger, screenrender, network, etc ) should be made threadsafe, so that they can be safely used in a heavily multithreaded software.