'A change enters the buffer.
:param widg: the widget that changed
:param status: the new status of the widget'

def change(self, widg, status):

    if (self.alerted.get(widg) == status):
        return
    self.alerted[widg] = status
    message = all(self.alerted.values())
    if (message != self.last_notified):
        self.last_notified = message
        self.target(message)
    return
