class_docstr: Serves has base for all notifications and creates a simple plugin system
  for extending future implementations.
  Child implementations get automatically registered and should identify the
  notification type
code: def __init__(
      self, recipient: ReportRecipients, content: NotificationContent
  ) -> None:
      self._recipient = recipient
      self._content = content
  
file_path: superset/superset/reports/notifications/base.py
imports: from dataclasses import dataclass
  from typing import Any, Optional
  import pandas
  from superset.reports.models import ReportRecipients, ReportRecipientType
  from superset.utils.core import HeaderDataType
label_desc: Use image node_id 2 to create a new BaseNotification object  with example: obj = BaseNotification(recipient, content)