static WebsiteDataModel DownloadWebsite(string site)
        {
            var output = new WebsiteDataModel();
            var client = new WebClient();

            output.WebsiteUrl  = site;
            output.WebsiteData = client.DownloadString(site);

            return(output);
        }
        static async Task RunDownloadAsync()
        {
            var sites = PrepData();

            foreach (var site in sites)
            {
                WebsiteDataModel result = await Task.Run(() => DownloadWebsite(site));

                ReportWebsiteInfo(result);
            }
        }
 static void ReportWebsiteInfo(WebsiteDataModel data)
 {
     Console.WriteLine($"{data.WebsiteUrl} downloaded: {data.WebsiteData.Length} characters long.");
 }