internal void DispatchEvent(DataSourceEventArgs eventArgs)
        {
            switch (eventArgs.Type)
            {
            case "dataadded":
                OnDataAdded?.Invoke(eventArgs.Shapes);
                break;

            case "dataremoved":
                OnDataRemoved?.Invoke(eventArgs.Shapes);
                break;

            case "datasourceupdated":
                OnDataSourceUpdated?.Invoke();
                break;

            case "sourceadded":
                OnSourceAdded?.Invoke();
                break;

            case "sourceremoved":
                OnSourceRemoved?.Invoke();
                break;
            }
        }