private void registerListeners() {
        getSkinnable().widthProperty().addListener(observable -> handleControlPropertyChanged("RESIZE") );
        getSkinnable().heightProperty().addListener(observable -> handleControlPropertyChanged("RESIZE") );
        getSkinnable().prefWidthProperty().addListener(observable -> handleControlPropertyChanged("PREF_SIZE") );
        getSkinnable().prefHeightProperty().addListener(observable -> handleControlPropertyChanged("PREF_SIZE") );
        getSkinnable().characterProperty().addListener(observable -> handleControlPropertyChanged("CHARACTER") );
        getSkinnable().dotOnProperty().addListener(observable -> handleControlPropertyChanged("DOT_ON") );
        getSkinnable().segmentStyleProperty().addListener(observable -> handleControlPropertyChanged("UPDATE") );

        getSkinnable().getStyleClass().addListener((ListChangeListener<String>) change -> {
            resize();
            update();
        });
    }