libuv wrapper