Could you point out what the problems were, and what technique did you replace it with?
Most of these could be worked around, but some of them are unreasonably difficult given OS event apis.
We replaced it with just making the calls that might need to be asynchronous use `async`/`await`.