Made asynchronous, with network activity notifications and error reporting.