DownloadTask: use async task