Replaced AsyncResult with the Async wrapper to make the code consistent with the presentation