code: def notify_widget(self, widget, message=None, clear_in=CLEAR_NOTIF_BAR_MESSAGE_IN):
          
  
          @log_traceback
          def clear_notification(*args, **kwargs):
              # the point here is the log_traceback
              self.remove_widget(widget, message=message)
  
          if not widget:
              return
  
          logger.debug("display notification widget %s", widget)
  
          with self.notifications_lock:
              self.widget_message_dict[widget] = message
              if message:
                  self.message_widget_dict[message] = widget
  
          self.reload_footer(rebuild_statusbar=False)
          self.loop.set_alarm_in(clear_in, clear_notification)
  
          return widget
docs: opens notification popup.
  
          :param widget: instance of Widget, widget to display
          :param message: str, message to remove from list of notifications
          :param clear_in: int, time seconds when notification should be removed