Updated to use JavaFX for the UI