Avoid using new threads when possible. Use RP callbacks and asyncio logic instead. (For instance, use asyncio Events to announce completion of callbacks and loop.call_soon_threadsafe.)
TODO: It is hard to debug callbacks from RP, and it is unclear that the callbacks in the initial patch were actually getting triggered.
TODO: It is hard to debug callbacks from RP, and it is unclear that the callbacks in the initial patch were actually getting triggered.