// Virtual method to raise event to observers
    protected virtual void OnDataDownloaded(DataDownloadEventArgs e)
    {
        var handler = DataDownloaded;

        if (handler != null)
        {
            handler(this, e);
        }
    }
 // Change btnDisplayData_Click to the following:
 private void DisplayData(object sender, DataDownloadEventArgs e)
 {
     // insert remaining code from btnDisplayData_Click
 }