reader

a01b7f9 has most of the changes discussed in the previous pull request. missing is using Task to run the httpretriever in another thread.