public ModificationScriptEditor(StorableScript storableScript, Scene scene, GseContext context) {
this.storableScript = storableScript;
this.context = context;
codeEditor = new GroovyCodeEditor(scene);
Text saveGlyph = Glyph.createAwesomeFont('\uf0c7').size("1.3em");
saveButton = new Button("", saveGlyph);
saveButton.getStyleClass().add("gse-toolbar-button");
saveButton.disableProperty().bind(saved);
saveButton.setOnAction(event -> save());
codeEditorWithProgressIndicator = new StackPane(codeEditor, new Group(progressIndicator));
codeEditor.codeProperty().addListener((observable, oldValue, newValue) -> saved.set(false));
splitPane = new SplitPane(codeEditorWithProgressIndicator);
toolBar = new ToolBar(saveButton);
splitPane.setOrientation(Orientation.VERTICAL);
splitPane.setDividerPosition(0, 0.8);
setTop(toolBar);
setCenter(splitPane);
storableScript.addListener(this);
}