diff --git a/.classpath b/.classpath
index dcd78a3ba968233672e70a1230fe0729cce99550..ad80aee38fc178532685429cfa686ee48e9f8485 100644
--- a/.classpath
+++ b/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
 	<classpathentry kind="var" path="ICY_JAR"/>
 	<classpathentry kind="var" path="ICY_PLUGINS/adufour/ezplug/EzPlug.jar"/>
 	<classpathentry kind="var" path="ICY_PLUGINS/adufour/blocks/Blocks.jar"/>
diff --git a/src/plugins/tprovoost/scripteditor/scriptblock/editor/VarScriptEditor.java b/src/plugins/tprovoost/scripteditor/scriptblock/editor/VarScriptEditor.java
index 13e12bbfc81e9fe8c35a0bfbdf8702d3c81f666e..e3d08c4f2c78c0a55db2dfd5934e0a17e38d5c26 100644
--- a/src/plugins/tprovoost/scripteditor/scriptblock/editor/VarScriptEditor.java
+++ b/src/plugins/tprovoost/scripteditor/scriptblock/editor/VarScriptEditor.java
@@ -35,7 +35,7 @@ import plugins.tprovoost.scripteditor.scriptinghandlers.VariableType;
 public abstract class VarScriptEditor extends SwingVarEditor<Script> {
 	private ScriptingPanel panelIn;
 	private ScriptingPanel panelOut;
-	
+
 	private IcyFrame frame;
 	private IcyFrameListener frameListener;
 
@@ -53,12 +53,15 @@ public abstract class VarScriptEditor extends SwingVarEditor<Script> {
 		setNameVisible(false);
 		setComponentResizeable(true);
 		JPanel component = buildComponentPanel();
-		Set<VarMutable> inputVariables = getVariable().getInputVariables();
-		Set<VarMutable> outputVariables = getVariable().getOutputVariables();
-		ThreadUtil.invokeLater(() -> {
-			setupVariables(inputVariables, outputVariables);
-			panelIn.getScriptHandler().interpret(false);
-			panelOut.getScriptHandler().interpret(false);
+		final Set<VarMutable> inputVariables = getVariable().getInputVariables();
+		final Set<VarMutable> outputVariables = getVariable().getOutputVariables();
+		ThreadUtil.invokeLater(new Runnable() {
+			@Override
+			public void run() {
+				setupVariables(inputVariables, outputVariables);
+				panelIn.getScriptHandler().interpret(false);
+				panelOut.getScriptHandler().interpret(false);
+			}
 		});
 		return component;
 	}
@@ -76,17 +79,17 @@ public abstract class VarScriptEditor extends SwingVarEditor<Script> {
 		panelIn.setText(getVariable().getCode());
 		panelIn.getTextArea().setCaretPosition(0);
 		panelIn.getTextArea().getDocument().addDocumentListener(new DocumentListener() {
-			
+
 			@Override
 			public void removeUpdate(DocumentEvent e) {
 				getVariable().getValue().updateCode(panelIn.getTextArea().getText());
 			}
-			
+
 			@Override
 			public void insertUpdate(DocumentEvent e) {
 				getVariable().getValue().updateCode(panelIn.getTextArea().getText());
 			}
-			
+
 			@Override
 			public void changedUpdate(DocumentEvent e) {
 			}
@@ -105,19 +108,18 @@ public abstract class VarScriptEditor extends SwingVarEditor<Script> {
 		}
 	}
 
-
 	private JPanel buildInternalEastPanel() {
 		JPanel eastPanel = new JPanel();
 		eastPanel.setOpaque(false);
 		eastPanel.setLayout(new BoxLayout(eastPanel, BoxLayout.Y_AXIS));
 		eastPanel.add(Box.createVerticalGlue());
-		
+
 		IcyButton editButton = new IcyButton(new IcyIcon("redo.png", 12));
 		eastPanel.add(editButton);
 		eastPanel.add(Box.createVerticalGlue());
-		
+
 		buildExternalEditorFrame();
-		
+
 		editButton.addActionListener(new ActionListener() {
 			@Override
 			public void actionPerformed(ActionEvent e) {
@@ -129,18 +131,17 @@ public abstract class VarScriptEditor extends SwingVarEditor<Script> {
 				frame.requestFocus();
 			}
 		});
-		
+
 		return eastPanel;
 	}
-	
 
 	private void buildExternalEditorFrame() {
 		frame = new IcyFrame("External Editor", true, true, true, true);
 		frame.setSize(500, 500);
-		
+
 		buildExternalPanel();
 		frame.setContentPane(panelOut);
-		
+
 		frame.addToDesktopPane();
 		frame.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
 		frame.center();
@@ -194,7 +195,7 @@ public abstract class VarScriptEditor extends SwingVarEditor<Script> {
 	}
 
 	private void setupVariables(Set<VarMutable> inputVariables, Set<VarMutable> outputVariables,
-			ScriptingHandler handler) {
+			final ScriptingHandler handler) {
 		HashMap<String, ScriptVariable> handlerVariables = handler.getExternalVariables();
 
 		handlerVariables.clear();
@@ -204,8 +205,12 @@ public abstract class VarScriptEditor extends SwingVarEditor<Script> {
 		for (Var<?> outputVar : outputVariables) {
 			handlerVariables.put(outputVar.getName(), new ScriptVariable(new VariableType(outputVar.getType())));
 		}
-		ThreadUtil.invokeLater(() -> {
-			handler.interpret(false);
+		ThreadUtil.invokeLater(new Runnable() {
+
+			@Override
+			public void run() {
+				handler.interpret(false);
+			}
 		});
 	}
 }
diff --git a/src/plugins/tprovoost/scripteditor/scriptblock/script/DefaultScript.java b/src/plugins/tprovoost/scripteditor/scriptblock/script/DefaultScript.java
index cac944c29a4e9727d218ba596a0720b424022eb2..71fda1ca3cd5bc486be31217635267a25836d0ae 100644
--- a/src/plugins/tprovoost/scripteditor/scriptblock/script/DefaultScript.java
+++ b/src/plugins/tprovoost/scripteditor/scriptblock/script/DefaultScript.java
@@ -6,7 +6,6 @@ import java.util.HashSet;
 import java.util.Set;
 
 import plugins.adufour.vars.lang.VarMutable;
-import plugins.tprovoost.scripteditor.scriptblock.VarMutableScript;
 
 public abstract class DefaultScript implements Script {
 
@@ -18,10 +17,10 @@ public abstract class DefaultScript implements Script {
 	}
 	
 	public DefaultScript(String code) {
-		this(code, Collections.emptyList());
+		this(code, Collections.<VarMutable>emptyList());
 	}
 
-	public DefaultScript(String code, Collection<VarMutableScript> variables) {
+	public DefaultScript(String code, Collection<VarMutable> variables) {
 		this.code = code;
 		this.variables = new HashSet<>(variables);
 	}
diff --git a/src/plugins/tprovoost/scripteditor/scriptblock/script/JavaScriptScript.java b/src/plugins/tprovoost/scripteditor/scriptblock/script/JavaScriptScript.java
index c1a42565fbffc2dd9a54b05e9ea1796e3ad07b91..548f2685a9a2c21369e878411860e9e4742c43f0 100644
--- a/src/plugins/tprovoost/scripteditor/scriptblock/script/JavaScriptScript.java
+++ b/src/plugins/tprovoost/scripteditor/scriptblock/script/JavaScriptScript.java
@@ -3,7 +3,7 @@ package plugins.tprovoost.scripteditor.scriptblock.script;
 import java.util.Collection;
 import java.util.Collections;
 
-import plugins.tprovoost.scripteditor.scriptblock.VarMutableScript;
+import plugins.adufour.vars.lang.VarMutable;
 
 public class JavaScriptScript extends DefaultScript {
 
@@ -12,10 +12,10 @@ public class JavaScriptScript extends DefaultScript {
 	}
 
 	public JavaScriptScript(String code) {
-		this(code, Collections.emptyList());
+		this(code, Collections.<VarMutable>emptyList());
 	}
 
-	public JavaScriptScript(String code, Collection<VarMutableScript> variables) {
+	public JavaScriptScript(String code, Collection<VarMutable> variables) {
 		super(code, variables);
 	}
 
diff --git a/src/plugins/tprovoost/scripteditor/scriptblock/script/PythonScript.java b/src/plugins/tprovoost/scripteditor/scriptblock/script/PythonScript.java
index add717ba01a1a6d3320fdc4b7e6ffbf17f115ab7..8480016a7260c334a16d88d95939128948d32c40 100644
--- a/src/plugins/tprovoost/scripteditor/scriptblock/script/PythonScript.java
+++ b/src/plugins/tprovoost/scripteditor/scriptblock/script/PythonScript.java
@@ -3,7 +3,7 @@ package plugins.tprovoost.scripteditor.scriptblock.script;
 import java.util.Collection;
 import java.util.Collections;
 
-import plugins.tprovoost.scripteditor.scriptblock.VarMutableScript;
+import plugins.adufour.vars.lang.VarMutable;
 
 public class PythonScript extends DefaultScript {
 
@@ -12,10 +12,10 @@ public class PythonScript extends DefaultScript {
 	}
 
 	public PythonScript(String code) {
-		this(code, Collections.emptyList());
+		this(code, Collections.<VarMutable>emptyList());
 	}
 
-	public PythonScript(String code, Collection<VarMutableScript> variables) {
+	public PythonScript(String code, Collection<VarMutable> variables) {
 		super(code, variables);
 	}
 
diff --git a/src/plugins/tprovoost/scripteditor/scriptblock/var/VarJavaScriptScript.java b/src/plugins/tprovoost/scripteditor/scriptblock/var/VarJavaScriptScript.java
index d916a7ccca295def0d7bbb5fac105575cf426919..77b64f017d23eaa58642c611dfaaa3692836106c 100644
--- a/src/plugins/tprovoost/scripteditor/scriptblock/var/VarJavaScriptScript.java
+++ b/src/plugins/tprovoost/scripteditor/scriptblock/var/VarJavaScriptScript.java
@@ -4,29 +4,29 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
 
+import plugins.adufour.vars.lang.VarMutable;
 import plugins.adufour.vars.util.VarListener;
-import plugins.tprovoost.scripteditor.scriptblock.VarMutableScript;
 import plugins.tprovoost.scripteditor.scriptblock.script.JavaScriptScript;
 import plugins.tprovoost.scripteditor.scriptblock.script.Script;
 
 public class VarJavaScriptScript extends VarScript {
 
 	public VarJavaScriptScript(String name, String defaultValue) {
-		this(name, defaultValue, Collections.emptySet(), Collections.emptySet());
+		this(name, defaultValue, Collections.<VarMutable>emptySet(), Collections.<VarMutable>emptySet());
 	}
 
-	public VarJavaScriptScript(String name, String defaultValue, Collection<VarMutableScript> inputVariables,
-			Collection<VarMutableScript> outputVariables) throws NullPointerException {
+	public VarJavaScriptScript(String name, String defaultValue, Collection<VarMutable> inputVariables,
+			Collection<VarMutable> outputVariables) throws NullPointerException {
 		this(name, defaultValue, inputVariables, outputVariables, null);
 	}
 
 	public VarJavaScriptScript(String name, String defaultValue, VarListener<Script> defaultListener)
 			throws NullPointerException {
-		this(name, defaultValue, Collections.emptyList(), Collections.emptyList(), defaultListener);
+		this(name, defaultValue, Collections.<VarMutable>emptyList(), Collections.<VarMutable>emptyList(), defaultListener);
 	}
 
-	public VarJavaScriptScript(String name, String defaultValue, Collection<VarMutableScript> inputVariables,
-			Collection<VarMutableScript> outputVariables, VarListener<Script> defaultListener)
+	public VarJavaScriptScript(String name, String defaultValue, Collection<VarMutable> inputVariables,
+			Collection<VarMutable> outputVariables, VarListener<Script> defaultListener)
 			throws NullPointerException {
 		super(name, new JavaScriptScript(filterNullValue(defaultValue)), defaultListener);
 		this.inputVariables = new HashSet<>(inputVariables);
diff --git a/src/plugins/tprovoost/scripteditor/scriptblock/var/VarPythonScript.java b/src/plugins/tprovoost/scripteditor/scriptblock/var/VarPythonScript.java
index e6050aa8ca4075a1f05005001b5638ef69d2fa9e..e17eb2f95acf23c941547f83691541de3ab05815 100644
--- a/src/plugins/tprovoost/scripteditor/scriptblock/var/VarPythonScript.java
+++ b/src/plugins/tprovoost/scripteditor/scriptblock/var/VarPythonScript.java
@@ -4,30 +4,30 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
 
+import plugins.adufour.vars.lang.VarMutable;
 import plugins.adufour.vars.util.VarListener;
-import plugins.tprovoost.scripteditor.scriptblock.VarMutableScript;
 import plugins.tprovoost.scripteditor.scriptblock.script.PythonScript;
 import plugins.tprovoost.scripteditor.scriptblock.script.Script;
 
 public class VarPythonScript extends VarScript {
 
 	public VarPythonScript(String name, String defaultValue) {
-		this(name, defaultValue, Collections.emptySet(), Collections.emptySet());
+		this(name, defaultValue, Collections.<VarMutable>emptySet(), Collections.<VarMutable>emptySet());
 	}
-	
-	public VarPythonScript(String name, String defaultValue, Collection<VarMutableScript> inputVariables,
-			Collection<VarMutableScript> outputVariables) throws NullPointerException {
+
+	public VarPythonScript(String name, String defaultValue, Collection<VarMutable> inputVariables,
+			Collection<VarMutable> outputVariables) throws NullPointerException {
 		this(name, defaultValue, inputVariables, outputVariables, null);
 	}
 
 	public VarPythonScript(String name, String defaultValue, VarListener<Script> defaultListener)
 			throws NullPointerException {
-		this(name, defaultValue, Collections.emptyList(), Collections.emptyList(), defaultListener);
+		this(name, defaultValue, Collections.<VarMutable>emptyList(), Collections.<VarMutable>emptyList(),
+				defaultListener);
 	}
 
-	public VarPythonScript(String name, String defaultValue, Collection<VarMutableScript> inputVariables,
-			Collection<VarMutableScript> outputVariables, VarListener<Script> defaultListener)
-			throws NullPointerException {
+	public VarPythonScript(String name, String defaultValue, Collection<VarMutable> inputVariables,
+			Collection<VarMutable> outputVariables, VarListener<Script> defaultListener) throws NullPointerException {
 		super(name, new PythonScript(filterNullValue(defaultValue)), defaultListener);
 		this.inputVariables = new HashSet<>(inputVariables);
 		this.outputVariables = new HashSet<>(outputVariables);
diff --git a/src/plugins/tprovoost/scripteditor/scriptblock/var/VarScript.java b/src/plugins/tprovoost/scripteditor/scriptblock/var/VarScript.java
index 57bf82e5d9724b067a7a3885157814e545ef1db3..3cb4feb6bc44bc5f728fa312139c30a9538b2c8a 100644
--- a/src/plugins/tprovoost/scripteditor/scriptblock/var/VarScript.java
+++ b/src/plugins/tprovoost/scripteditor/scriptblock/var/VarScript.java
@@ -19,7 +19,7 @@ public abstract class VarScript extends Var<Script> {
 	Set<VarMutable> outputVariables;
 
 	public VarScript(String name, Script defaultValue) {
-		this(name, defaultValue, Collections.emptySet(), Collections.emptySet());
+		this(name, defaultValue, Collections.<VarMutable>emptySet(), Collections.<VarMutable>emptySet());
 	}
 
 	public VarScript(String name, Script defaultValue, Collection<VarMutable> inputVariables,
@@ -29,7 +29,7 @@ public abstract class VarScript extends Var<Script> {
 
 	public VarScript(String name, Script defaultValue, VarListener<Script> defaultListener)
 			throws NullPointerException {
-		this(name, defaultValue, Collections.emptyList(), Collections.emptyList(), defaultListener);
+		this(name, defaultValue, Collections.<VarMutable>emptyList(), Collections.<VarMutable>emptyList(), defaultListener);
 	}
 
 	public VarScript(String name, Script defaultValue, Collection<VarMutable> inputVariables,