Events are the first place you are likely to meet asynchronous functions, but once you have events and an event dispatching system you can't stop there. Any long running function has to be implemented ...
Some results have been hidden because they may be inaccessible to you
Show inaccessible results