NvimFunc is synchronous by default.
Host a D plugin, by template instanciating a Struct on Nvim. The main thread (NvimClient) provides a socket to call Nvim API functions, and there's a second thread, which is exclusively used for exchanging call messages between the Plugin functions, commands, and Nvim.