public async Task<string> DownloadAsync(string downloadUrl, string fileName)
{
webClient = new WebClient ();
webClient.DownloadProgressChanged += HandleDownloadProgressChanged;
var url = new Uri (downloadUrl);
//TODO uncomment the line below to fix memory leak
//byte[] bytes = await webClient.DownloadDataTaskAsync(url);
//TODO comment out the line below to fix memory leak
bytes = await webClient.DownloadDataTaskAsync(url);
string localPath = FetchStorePath (fileName);
await StoreData (bytes, localPath);
return localPath;
}