Refactor main application to allow for easier extending
Refactor to use ObservableList for direct access to the menu
Refactor to use Builders for common jfx controls