/*
   * (non-Javadoc)
   *
   * @see
   * org.jvnet.flamingo.ribbon.ui.BasiccommandButtonUI#uninstallListeners()
   */
  @Override
  protected void uninstallListeners() {
    this.substanceVisualStateTracker.uninstallListeners(this.commandButton);
    this.substanceVisualStateTracker = null;

    this.commandButton.removePropertyChangeListener(this.substancePropertyListener);
    this.substancePropertyListener = null;

    this.substanceModelChangeListener.unregisterListeners();
    this.substanceModelChangeListener = null;

    this.commandButton.removeMouseListener(this.substanceOverallRolloverListener);
    this.commandButton.removeMouseMotionListener(this.substanceOverallRolloverListener);
    this.substanceOverallRolloverListener = null;

    this.overallStateTransitionTracker.unregisterModelListeners();

    super.uninstallListeners();
  }