A practical example of asynchronous programming