https://foojay.io/today/custom-controls-in-javafx-part-iv/
Custom Controls in JavaFX (Part IV)