The Controller is the object that holds the javafx controls (e.g. TextField). The Model (a structure op POJO's) holds the (persistent) data. The Controller must has a reference to the Model object.
As the standard JavaFX file chooser uses system dialogs, so it is hard to test and hard to modify (e.g. new Skin). In some cases the system controls even show poor performance opening folders with ...