Modify protected async functions to use try/with

Address a few of @dsyme's comments in #490.