def METHOD_NAME(self, button):
    """
    All buttons must be added before doing InfoBarNotebook.push_message()
    """
    if not isinstance(button, InfoBarMessageButton):
        raise TypeError("Not an InfoBarMessageButton: %s" % repr(button))
    self.buttons.append(button)
    button._button = Gtk.InfoBar.METHOD_NAME(self, button.text, button.response_id)
    def set_sensitive(button, property):
        if self.get_children():
            self.set_response_sensitive(button.response_id, button.sensitive)
    button.connect("notify::sensitive", set_sensitive)
    def set_tooltip_text(button, property):
        button._button.set_property("tooltip-text", button.tooltip_text)
    button.connect("notify::tooltip-text", set_tooltip_text)