class ConfigurationContext extends GraphicalContext<BorderPane> {

    static ChoiceBox<EyeTracker> buildEyeTrackerConfigChooser(Configuration configuration) {
        ChoiceBox<EyeTracker> choiceBox = new ChoiceBox<>();

        choiceBox.getItems().addAll(EyeTracker.values());

        EyeTracker selectedEyeTracker = findSelectedEyeTracker(configuration);
        choiceBox.getSelectionModel().select(selectedEyeTracker);

        choiceBox.setPrefWidth(PREF_WIDTH);
        choiceBox.setPrefHeight(PREF_HEIGHT);

        choiceBox.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
            final String newPropertyValue = newValue.name();
            configuration.getEyetrackerProperty().setValue(newPropertyValue);
        });

        return choiceBox;
    }

      ConfigurationContext(GazePlay gazePlay);

}