public static void DownloadFileASync(string url, string path, Action <string> callback) { DownloadAsBytesASync(url, delegate(object o, DownloadDataCompletedEventArgs a) { if (a.Cancelled || a.Error != null) { MainThreader.Call(callback, null); } else { FileHelper.WriteBytesToFile(a.Result, path); MainThreader.Call(callback, path); } }); }