libuv based run loop