run http requests in async tasks to avoid hanging the background js thread