def METHOD_NAME(self, button, type, event):
    """Informs the controller that the particular **button** just
    got an event.  **Type** is either "up" or "down".  Event is the
    actual mouse event.
    """
    # control_down = getattr(event, self.modifier + "_down", False)
    control_down = True
    if DEBUG:
        print("[notify]", button.plotname, type, "control:", control_down)
    if type == "down":
        if control_down and button in self.active_buttons:
            self.button_deselected(button)
        else:
            if not control_down:
                # Deselect all current buttons and select the new one
                [
                    self.button_deselected(b)
                    for b in self.active_buttons
                    if b is not button
                ]
            self.button_selected(button)
    else:  # type == "up"
        # if not control_down:
        if 1:
            self.button_deselected(button)