diff --git a/src/main/jastadd/gen/Package.jadd b/src/main/jastadd/gen/Package.jadd
index f49af27d21beb9a56d259fb07d4e158aa5438ab5..9b1731a3c19c7663a8caead81e9c731918c7beec 100644
--- a/src/main/jastadd/gen/Package.jadd
+++ b/src/main/jastadd/gen/Package.jadd
@@ -28,8 +28,17 @@ aspect PackageGen {
         return res;
     }
 
-    syn String DinerosPackage.generateTokenClass(){
+    syn String BinderFile.generate(){
 
-        return de.tudresden.inf.st.pnml.gen.generators.JavaClassGenUtil.generateTokenClass(getNamespace());
+        String res = de.tudresden.inf.st.pnml.gen.generators.JavaClassGenUtil.generateBinderClass(dinerosPackage().getNamespace());
+        this.setFileContent(res);
+        return res;
+    }
+
+    syn String FunctionsFile.generate(){
+
+        String res = de.tudresden.inf.st.pnml.gen.generators.JavaClassGenUtil.generateFunctionsClass(dinerosPackage().getNamespace());
+        this.setFileContent(res);
+        return res;
     }
 }
\ No newline at end of file
diff --git a/src/main/java/de/tudresden/inf/st/pnml/gen/data/TokenContext.java b/src/main/java/de/tudresden/inf/st/pnml/gen/data/TokenContext.java
deleted file mode 100644
index 4496f52827a39a2f365f4ea533cf5213f2a5e3e2..0000000000000000000000000000000000000000
--- a/src/main/java/de/tudresden/inf/st/pnml/gen/data/TokenContext.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package de.tudresden.inf.st.pnml.gen.data;
-
-public class TokenContext {
-
-    private String packageNamespace;
-
-    public TokenContext(String packageNamespace) {
-        this.packageNamespace = packageNamespace;
-    }
-
-    public String getPackageNamespace() {
-        return packageNamespace;
-    }
-
-    public void setPackageNamespace(String packageNamespace) {
-        this.packageNamespace = packageNamespace;
-    }
-}
diff --git a/src/main/java/de/tudresden/inf/st/pnml/gen/generators/JavaClassGenUtil.java b/src/main/java/de/tudresden/inf/st/pnml/gen/generators/JavaClassGenUtil.java
index a8954338affbd6d32c3a0d402cd128c31678cc6f..87039c9400473157132135700ddb0754c0399c90 100644
--- a/src/main/java/de/tudresden/inf/st/pnml/gen/generators/JavaClassGenUtil.java
+++ b/src/main/java/de/tudresden/inf/st/pnml/gen/generators/JavaClassGenUtil.java
@@ -66,11 +66,13 @@ public class JavaClassGenUtil extends AbstractGenUtil{
         return generate(context, "JavaNode.mustache");
     }
 
-    public static String generateTokenClass(String packageNamespace){
+    public static String generateBinderClass(String packageNamespace){
+        // TODO
+        return null;
+    }
 
-        Map<String, Object> context = new HashMap<>();
-        TokenContext tokenContext = new TokenContext(packageNamespace);
-        context.put("tokenContext", tokenContext);
-        return generate(context, "JavaToken.mustache");
+    public static String generateFunctionsClass(String packageNamespace){
+        // TODO
+        return null;
     }
 }
diff --git a/src/main/resources/mustache/JavaHandlerFunctions.mustache b/src/main/resources/mustache/JavaHandlerFunctions.mustache
new file mode 100644
index 0000000000000000000000000000000000000000..e7cf8510d0cdaf782d2dfdb3519cdbf3215485e2
--- /dev/null
+++ b/src/main/resources/mustache/JavaHandlerFunctions.mustache
@@ -0,0 +1,13 @@
+{{#functionsContext}}
+    package de.tudresden.inf.st.{{{packageNamespace}}}.handling;
+
+    import java.util.ArrayList;
+    import java.util.List;
+    import java.util.Map;
+    import java.util.function.Function;
+
+
+    public final class HandlerFunctions {
+
+    }
+{{/functionsContext}}
\ No newline at end of file
diff --git a/src/main/resources/mustache/JavaHandlingBinder.mustache b/src/main/resources/mustache/JavaHandlingBinder.mustache
new file mode 100644
index 0000000000000000000000000000000000000000..af5b40a132fea05fea6804505efaaab90c799fab
--- /dev/null
+++ b/src/main/resources/mustache/JavaHandlingBinder.mustache
@@ -0,0 +1,15 @@
+{{#handlingContext}}
+    package de.tudresden.inf.st.{{{packageNamespace}}}.handling;
+
+    import de.tudresden.inf.st.pnml.jastadd.model.PetriNet;
+
+    public final class HandlingBinder {
+
+        {{#nodeInfos}}
+            public static void bindHandlersTo{{{nodeName}}}(PetriNet petriNet){
+
+            }
+        {{/nodeInfos}}
+
+    }
+{{/handlingContext}}
\ No newline at end of file
diff --git a/src/main/resources/mustache/JavaNode.mustache b/src/main/resources/mustache/JavaNode.mustache
index a34c6b84d9a41fbf21857ec3d939edae137e1d07..7c06ec745e1e2bc396b8b4d96f690951a3761934 100644
--- a/src/main/resources/mustache/JavaNode.mustache
+++ b/src/main/resources/mustache/JavaNode.mustache
@@ -2,25 +2,28 @@
 package de.tudresden.inf.st.{{{packageNamespace}}}.nodes;
 
 import de.tudresden.inf.st.pnml.engine.ros.DiNeRosNode;
-import de.tudresden.inf.st.pnml.jastadd.model.BalloonCallbackStorage;
-import de.tudresden.inf.st.pnml.jastadd.model.BalloonMarking;
-import de.tudresden.inf.st.pnml.jastadd.model.PetriNet;
+import de.tudresden.inf.st.pnml.jastadd.model.*;
+
+import java.util.List;
 
 public class {{{nodeClassName}}} extends DiNeRosNode {
 
-    public {{{nodeClassName}}}(String nodeName, PetriNet petriNet) {
-        super(nodeName, petriNet);
+    public {{{nodeClassName}}}(String nodeName, PetriNet petriNet, String rcHost, String gcProtocol) {
+        super(nodeName, petriNet, rcHost, gcProtocol);
     }
 
-    public {{{nodeClassName}}}(String nodeName, PetriNet petriNet, BalloonMarking marking, BalloonCallbackStorage callbackStorage) {
-        super(nodeName, petriNet, marking, callbackStorage);
+    @Override
+    protected TransitionSelectionResult onChange(List<Transition> list) {
+
+        // TODO: Implementation by user
+        return new FiringSelectionNone();
     }
 
     @Override
-    protected void nodeLoop() {
+    protected TransitionSelectionResult onStartupEnded(List<Transition> list) {
 
         // TODO: Implementation by user
-
+        return new FiringSelectionNone();
     }
 }
 {{/nodeContext}}
\ No newline at end of file