Index: /trunk/sources/HeuristicLab.Scripting/3.3/HeuristicLab.Scripting-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Scripting/3.3/HeuristicLab.Scripting-3.3.csproj	(revision 10565)
+++ /trunk/sources/HeuristicLab.Scripting/3.3/HeuristicLab.Scripting-3.3.csproj	(revision 10566)
@@ -85,4 +85,5 @@
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="Variables.cs" />
     <Compile Include="VariableStore.cs" />
     <None Include="Plugin.cs.frame" />
Index: /trunk/sources/HeuristicLab.Scripting/3.3/Script.cs
===================================================================
--- /trunk/sources/HeuristicLab.Scripting/3.3/Script.cs	(revision 10565)
+++ /trunk/sources/HeuristicLab.Scripting/3.3/Script.cs	(revision 10566)
@@ -38,5 +38,5 @@
 
 namespace HeuristicLab.Scripting {
-  [Item("Script", "An empty C# script.")]
+  [Item("C# Script", "An empty C# script.")]
   [Creatable("Scripts")]
   [StorableClass]
Index: /trunk/sources/HeuristicLab.Scripting/3.3/UserScriptBase.cs
===================================================================
--- /trunk/sources/HeuristicLab.Scripting/3.3/UserScriptBase.cs	(revision 10565)
+++ /trunk/sources/HeuristicLab.Scripting/3.3/UserScriptBase.cs	(revision 10566)
@@ -52,41 +52,4 @@
       var handler = ConsoleOutputChanged;
       if (handler != null) handler(null, new EventArgs<string>(args));
-    }
-
-    protected class Variables : DynamicObject, IEnumerable<KeyValuePair<string, object>> {
-      private readonly VariableStore variableStore;
-
-      public ICollection<string> Keys {
-        get { return variableStore.Keys; }
-      }
-
-      public ICollection<object> Values {
-        get { return variableStore.Values; }
-      }
-
-      public Variables(VariableStore variableStore) {
-        this.variableStore = variableStore;
-      }
-
-      public override bool TryGetMember(GetMemberBinder binder, out object result) {
-        return variableStore.TryGetValue(binder.Name, out result);
-      }
-
-      public override bool TrySetMember(SetMemberBinder binder, object value) {
-        variableStore[binder.Name] = value;
-        return true;
-      }
-
-      public bool Contains(string variableName) {
-        return variableStore.ContainsKey(variableName);
-      }
-
-      public IEnumerator<KeyValuePair<string, object>> GetEnumerator() {
-        return variableStore.GetEnumerator();
-      }
-
-      IEnumerator IEnumerable.GetEnumerator() {
-        return GetEnumerator();
-      }
     }
 
Index: /trunk/sources/HeuristicLab.Scripting/3.3/Variables.cs
===================================================================
--- /trunk/sources/HeuristicLab.Scripting/3.3/Variables.cs	(revision 10566)
+++ /trunk/sources/HeuristicLab.Scripting/3.3/Variables.cs	(revision 10566)
@@ -0,0 +1,42 @@
+﻿using System.Collections;
+using System.Collections.Generic;
+using System.Dynamic;
+
+namespace HeuristicLab.Scripting {
+  public class Variables : DynamicObject, IEnumerable<KeyValuePair<string, object>> {
+    private readonly VariableStore variableStore;
+
+    public ICollection<string> Keys {
+      get { return variableStore.Keys; }
+    }
+
+    public ICollection<object> Values {
+      get { return variableStore.Values; }
+    }
+
+    public Variables(VariableStore variableStore) {
+      this.variableStore = variableStore;
+    }
+
+    public override bool TryGetMember(GetMemberBinder binder, out object result) {
+      return variableStore.TryGetValue(binder.Name, out result);
+    }
+
+    public override bool TrySetMember(SetMemberBinder binder, object value) {
+      variableStore[binder.Name] = value;
+      return true;
+    }
+
+    public bool Contains(string variableName) {
+      return variableStore.ContainsKey(variableName);
+    }
+
+    public IEnumerator<KeyValuePair<string, object>> GetEnumerator() {
+      return variableStore.GetEnumerator();
+    }
+
+    IEnumerator IEnumerable.GetEnumerator() {
+      return GetEnumerator();
+    }
+  }
+}
