Its been quite some time since I last post on the subject of the AsyncOperationService (in fact quite some since I posted period). In real world use I found some common patterns emerge that has lead me to make a few small adjustments to eliminate some common duplication I was seeing in code consuming the service. Here is the new code file for my ever so slightly improved AsyncOperationService in its entirety. AsyncOperationService using System; using System.Windows; using System.Collections.Generic; ......