Move more out of dqdownload into download_backend, but dqdownload still probably needs to be run asynchronously