IIUC, all these objects in the core library are thread-safe, so the bindings should be as well. This will significantly reduce pain points with inability to send higher-level wrapper objects between thread, store ittapi::Domain in a static variable and so on.