The complete thing is a little less than 500 lines of code, so it's quite large, but definitely worth it. One of the reasons it's so huge is because of all the ceremony of classes to do this the JavaFX way (TM). It would be 100 lines less if I used a more TornadoFX-like approach but I think it's worth it. As the features grows we will benefit from this structure.