private void PerformDownload(string url, System.Action callback, string downloadMessage)
        {
            Debug.Log("Downloading from URL: " + url);
            mIsDownloading            = true;
            mHasDownloadCompleted     = false;
            mOnDownloadCompleteAction = callback;
            EditorUtility.DisplayProgressBar("Downloading...", downloadMessage, 0.5f);

            WWW www = new WWW(url);

            ContinuationManager.Run(() => www.isDone, () => {
                mHasDownloadCompleted = true;
                if (!string.IsNullOrEmpty(www.error))
                {
                    Debug.LogError("WWW failed: " + www.error);
                }
                else
                {
                    mDownloadedBytes = www.bytes;
                }
            });
        }