Moved to using asyncio for backend, not quite finished switching though.