Add option of an additional AsyncResult watcher on a ProviderRequest
Start refactoring for failover implementation
Add missing wait calls.