One of the first challenges you will face if you have never worked with asynchronous tasks is: how on Earth do you return results from an asynchronous task if you don't know when the execution will end?
Well, this recipe show you how. AsyncResponse for the win!