I'm confused as to why we need an async loop here.  The providers respond synchronously, and `result` below is always resolved synchronously as well.  Seems like this could just be a regular forEach (which also eliminates the need to add a new Async API).