private void setupActiveTabListener() {
    // whenever the module of this tab changes, re-initialize the binding which determines whether
    // this tab is the currently active tab or not
    moduleProperty().addListener(observable -> {
      activeTab.unbind();
      activeTab.bind(Bindings.equal(getModule(), workbench.activeModuleProperty()));
    });
    activeTab.addListener((observable, oldValue, newValue) ->
        pseudoClassStateChanged(SELECTED, newValue)
    );
  }
Constructs a new {@link Tab}.

@param workbench which created this {@link Tab}
workbenchfx-core/src/main/java/com/dlsc/workbenchfx/view/controls/module/Tab.java