Note: Cross posted from Sajay.
Permalink

Here is a deep dive on of how to implement your AsyncResult

Quick Pointers