refactoring controller abstraction
javafx application start