docs: def add_notification_listener(self, notification_type, notification_callback):
      """ Add a notification callback to the notification center.
  
      Args:
        notification_type: A string representing the notification type from .helpers.enums.NotificationTypes
        notification_callback: closure of function to call when event is triggered.
  
      Returns:
        Integer notification id used to remove the notification or -1 if the notification has already been added.
      """
  
      if notification_type not in self.notifications:
        self.notifications[notification_type] = [(self.notification_id, notification_callback)]
      else:
        if reduce(lambda a, b: a + 1,
                  filter(lambda tup: tup[1] == notification_callback, self.notifications[notification_type]),
                  0) > 0:
            return -1
        self.notifications[notification_type].append((self.notification_id, notification_callback))
  
      ret_val = self.notification_id
  
      self.notification_id += 1
  
      return ret_val