diff --git a/src/main/jastadd/load/Tracing.jadd b/src/main/jastadd/load/Tracing.jadd
new file mode 100644
index 0000000000000000000000000000000000000000..36b96c2fcb0dbcb6b9815e8b16c369349cfc5d72
--- /dev/null
+++ b/src/main/jastadd/load/Tracing.jadd
@@ -0,0 +1,9 @@
+aspect Tracing {
+
+  refine
+  public void Container.setElementCount(int x) {
+    refined(x);
+    World.printContextOf("Container.setElementCount()-AFTER", this, de.tudresden.inf.st.mg.common.MotionGrammarConfig.ADD_COLOR);
+  }
+
+}
diff --git a/src/main/java/de/tudresden/inf/st/mg/common/MotionGrammarParser.java b/src/main/java/de/tudresden/inf/st/mg/common/MotionGrammarParser.java
index 70c0f00b6d59ed0b206b23981e59daa0086e4ce2..281f18ff8e945ba3c84b0aafd6a0b005f22bfadd 100644
--- a/src/main/java/de/tudresden/inf/st/mg/common/MotionGrammarParser.java
+++ b/src/main/java/de/tudresden/inf/st/mg/common/MotionGrammarParser.java
@@ -38,7 +38,7 @@ public abstract class MotionGrammarParser<T extends MotionGrammarElement> {
     }
   }
 
-  public void setDebugDiagramDir(Path p) {
+  public static void setDebugDiagramDir(Path p) {
     MotionGrammarConfig.astDiagramDir = p;
   }
 
diff --git a/src/test/java/de/tudresden/inf/st/mg/ParserTest.java b/src/test/java/de/tudresden/inf/st/mg/ParserTest.java
index cc683a6a0f50859197eedb880f8aed3b882d14ec..8b4e5bc5d3d48948c05391e77968a33edad5ea0d 100644
--- a/src/test/java/de/tudresden/inf/st/mg/ParserTest.java
+++ b/src/test/java/de/tudresden/inf/st/mg/ParserTest.java
@@ -40,11 +40,12 @@ public class ParserTest {
   @Test
   void runLodUnloadParser() throws MotionGrammarParser.ParseException {
 
+    MotionGrammarParser.setDebugDiagramDir(LOAD_AST_DIAGRAM_DIR);
+
     // for some reason, the best random seed value here is 1 and not 0???
     Container containerWorld = Container.initialWorld(new Random(1));
 
     LoadWorldParser parser = new LoadWorldParser(containerWorld);
-    parser.setDebugDiagramDir(LOAD_AST_DIAGRAM_DIR);
 
     var result = parser.parse();
 
@@ -54,13 +55,14 @@ public class ParserTest {
   @Test
   void runTidyParser() throws MotionGrammarParser.ParseException {
 
+    MotionGrammarParser.setDebugDiagramDir(TIDY_AST_DIAGRAM_DIR);
+
     // for some reason, the best random seed value here is 1 and not 0???
     RobotWorld world = RobotWorld.initialWorld(new Random(1));
     world.printContext("initial");
 
     // create a parser using the world
     RobotParser parser = new RobotParser(world);
-    parser.setDebugDiagramDir(TIDY_AST_DIAGRAM_DIR);
 
     world.addSelection(new Selection().setObject("boxRed").setTimeStamp(java.time.Instant.now()))
         .addSelection(new Selection().setObject("boxGreen").setTimeStamp(java.time.Instant.now()))