The trick to wrap a Task<Result> in an AsyncResult is very smart.
The trick to wrap a Task in an AsyncResult is very smart.