diff --git a/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java b/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java
index 78a22e3d4f8159f29655bcb4967bef2c27a27068..520c9ad7f2fdcbb55f0a17b0d2a1e4b84436df34 100644
--- a/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java
+++ b/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java
@@ -7,6 +7,8 @@ import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 
+import com.tinkerpop.blueprints.Graph;
+
 import kieker.analysis.stage.tracediagnosis.AllowedRecordsFilter;
 import kieker.analysis.stage.tracediagnosis.BeginEndOfMonitoringDetector;
 import kieker.analysis.stage.tracediagnosis.OperationCallHandlerComposite;
@@ -73,7 +75,7 @@ public class TraceAnalysisConfiguration extends Configuration {
 		String graphFilesOutputDir = "example/event monitoring log/output"; // TODO Temp hard coded
 
 		TraceTraverserStage traceTraverserStage = new TraceTraverserStage();
-		final Distributor<NamedGraph> graphDistributor = new Distributor<>(new CopyByReferenceStrategy());
+		final Distributor<NamedGraph<Graph>> graphDistributor = new Distributor<>(new CopyByReferenceStrategy());
 		GraphMLWriter graphMLWriter = new GraphMLWriter(graphFilesOutputDir);
 		DotGraphWriter dotGraphWriter = new DotGraphWriter(graphFilesOutputDir);
 
@@ -83,7 +85,7 @@ public class TraceAnalysisConfiguration extends Configuration {
 		super.connectPorts(graphDistributor.getNewOutputPort(), dotGraphWriter.getInputPort());
 
 		AggrTraceTraverserStage aggrTraceTraverser = new AggrTraceTraverserStage();
-		final Distributor<NamedGraph> graphDistributor2 = new Distributor<>(new CopyByReferenceStrategy());
+		final Distributor<NamedGraph<Graph>> graphDistributor2 = new Distributor<>(new CopyByReferenceStrategy());
 		GraphMLWriter graphMLWriter2 = new GraphMLWriter(graphFilesOutputDir);
 		DotGraphWriter dotGraphWriter2 = new DotGraphWriter(graphFilesOutputDir);
 
@@ -92,6 +94,9 @@ public class TraceAnalysisConfiguration extends Configuration {
 		super.connectPorts(graphDistributor2.getNewOutputPort(), graphMLWriter2.getInputPort());
 		super.connectPorts(graphDistributor2.getNewOutputPort(), dotGraphWriter2.getInputPort());
 
+		// DependencyCreatorStage dependencyCreatorStage = new DependencyCreatorStage();
+		// super.connectPorts(aggregation.getOutputPort(), dependencyCreatorStage.getInputPort());
+
 		/*
 		 *
 		 *
diff --git a/src/main/java/kieker/analysis/dev/DependencyCreatorStage.java b/src/main/java/kieker/analysis/dev/DependencyCreatorStage.java
index 83a9bdae7082343e214d349b67217629da8c4050..5bc5739eb18d4119e9928c6fceaf044bfbcc44e6 100644
--- a/src/main/java/kieker/analysis/dev/DependencyCreatorStage.java
+++ b/src/main/java/kieker/analysis/dev/DependencyCreatorStage.java
@@ -20,7 +20,7 @@ public class DependencyCreatorStage extends AbstractTransformation<AggregatedTra
 
 		// TODO Update Statistics
 
-		operationsDependency.printDependcies();
+		// operationsDependency.printDependcies();
 		// operationsDependency.printOperations();
 
 		this.getOutputPort().send(operationsDependency);
diff --git a/src/main/java/kieker/analysis/trace/graphoutput/DotGraphWriter.java b/src/main/java/kieker/analysis/trace/graphoutput/DotGraphWriter.java
index f5eab687cd7ecc4afd460823207e52d304f94953..0f45ab51b8b8b9e617c8ea7e1380af0599a908bc 100644
--- a/src/main/java/kieker/analysis/trace/graphoutput/DotGraphWriter.java
+++ b/src/main/java/kieker/analysis/trace/graphoutput/DotGraphWriter.java
@@ -19,7 +19,7 @@ import kieker.analysis.util.DotBuilder;
 
 import teetime.framework.AbstractConsumerStage;
 
-public class DotGraphWriter extends AbstractConsumerStage<NamedGraph> {
+public class DotGraphWriter extends AbstractConsumerStage<NamedGraph<Graph>> {
 
 	private final String outputDir;
 
@@ -28,8 +28,8 @@ public class DotGraphWriter extends AbstractConsumerStage<NamedGraph> {
 	}
 
 	@Override
-	protected void execute(final NamedGraph graph) {
-		final String dotGraph = createDotGraph(graph.getGraph());
+	protected void execute(final NamedGraph<Graph> graph) {
+		final String dotGraph = createDotGraph(graph);
 		final String fileName = outputDir + "/" + graph.getFileName() + ".dot";
 
 		try {
diff --git a/src/main/java/kieker/analysis/trace/graphoutput/GraphMLWriter.java b/src/main/java/kieker/analysis/trace/graphoutput/GraphMLWriter.java
index 3b7cf56f89a898c842a3312968f03bf587c3c696..d055fcaa3e38c64039ac0457458e20f7f74a2977 100644
--- a/src/main/java/kieker/analysis/trace/graphoutput/GraphMLWriter.java
+++ b/src/main/java/kieker/analysis/trace/graphoutput/GraphMLWriter.java
@@ -2,11 +2,13 @@ package kieker.analysis.trace.graphoutput;
 
 import java.io.IOException;
 
+import com.tinkerpop.blueprints.Graph;
+
 import kieker.analysis.trace.traversal.NamedGraph;
 
 import teetime.framework.AbstractConsumerStage;
 
-public class GraphMLWriter extends AbstractConsumerStage<NamedGraph> {
+public class GraphMLWriter extends AbstractConsumerStage<NamedGraph<Graph>> {
 
 	private final String outputDir;
 
@@ -15,11 +17,11 @@ public class GraphMLWriter extends AbstractConsumerStage<NamedGraph> {
 	}
 
 	@Override
-	protected void execute(final NamedGraph graph) {
+	protected void execute(final NamedGraph<Graph> graph) {
 
 		String outputFile = outputDir + "/" + graph.getFileName() + ".xml";
 
-		com.tinkerpop.blueprints.util.io.graphml.GraphMLWriter writer = new com.tinkerpop.blueprints.util.io.graphml.GraphMLWriter(graph.getGraph());
+		com.tinkerpop.blueprints.util.io.graphml.GraphMLWriter writer = new com.tinkerpop.blueprints.util.io.graphml.GraphMLWriter(graph);
 		writer.setNormalize(true);
 
 		try {
diff --git a/src/main/java/kieker/analysis/trace/traversal/AggrTraceTraverserStage.java b/src/main/java/kieker/analysis/trace/traversal/AggrTraceTraverserStage.java
index 067290d9beda5c466eb93c1f3a7198012bc7047b..d570e4188689a2416ce8f1fee49f26022eebf6c2 100644
--- a/src/main/java/kieker/analysis/trace/traversal/AggrTraceTraverserStage.java
+++ b/src/main/java/kieker/analysis/trace/traversal/AggrTraceTraverserStage.java
@@ -1,11 +1,13 @@
 package kieker.analysis.trace.traversal;
 
+import com.tinkerpop.blueprints.Graph;
+
 import kieker.analysis.traceanalysisdomain.AggregatedOperationCall;
 import kieker.analysis.traceanalysisdomain.AggregatedTrace;
 
 import teetime.stage.basic.AbstractTransformation;
 
-public class AggrTraceTraverserStage extends AbstractTransformation<AggregatedTrace, NamedGraph> {
+public class AggrTraceTraverserStage extends AbstractTransformation<AggregatedTrace, NamedGraph<Graph>> {
 
 	@Override
 	protected void execute(final AggregatedTrace trace) {
@@ -18,7 +20,7 @@ public class AggrTraceTraverserStage extends AbstractTransformation<AggregatedTr
 
 		final String name = "aggr-trace-" + trace.hashCode();
 
-		final NamedGraph graph = new NamedGraph(name, name, aggrTrace2Blueprint.getGraph());
+		final NamedGraph<Graph> graph = new NamedGraph<>(name, name, aggrTrace2Blueprint.getGraph());
 
 		this.getOutputPort().send(graph);
 	}
diff --git a/src/main/java/kieker/analysis/trace/traversal/NamedGraph.java b/src/main/java/kieker/analysis/trace/traversal/NamedGraph.java
index 8337e119e4f1dfa937e019ee7daed5dd16d53e95..ea42cf2ab5da8696e096d2db948099452d503631 100644
--- a/src/main/java/kieker/analysis/trace/traversal/NamedGraph.java
+++ b/src/main/java/kieker/analysis/trace/traversal/NamedGraph.java
@@ -1,19 +1,18 @@
 package kieker.analysis.trace.traversal;
 
 import com.tinkerpop.blueprints.Graph;
+import com.tinkerpop.blueprints.util.wrappers.wrapped.WrappedGraph;
 
-public class NamedGraph {
+public class NamedGraph<T extends Graph> extends WrappedGraph<T> {
 
 	private String name;
 
 	private String fileName;
 
-	private Graph graph;
-
-	public NamedGraph(final String name, final String fileName, final Graph graph) {
+	public NamedGraph(final String name, final String fileName, final T baseGraph) {
+		super(baseGraph);
 		this.name = name;
 		this.fileName = fileName;
-		this.graph = graph;
 	}
 
 	public String getName() {
@@ -32,12 +31,4 @@ public class NamedGraph {
 		this.fileName = fileName;
 	}
 
-	public Graph getGraph() {
-		return graph;
-	}
-
-	public void setGraph(final Graph graph) {
-		this.graph = graph;
-	}
-
 }
diff --git a/src/main/java/kieker/analysis/trace/traversal/TraceTraverserStage.java b/src/main/java/kieker/analysis/trace/traversal/TraceTraverserStage.java
index 67129df73bc77682494550cce69dff2819e2dddd..bae43357cfb79579673e2234abe7c5b795057428 100644
--- a/src/main/java/kieker/analysis/trace/traversal/TraceTraverserStage.java
+++ b/src/main/java/kieker/analysis/trace/traversal/TraceTraverserStage.java
@@ -1,11 +1,13 @@
 package kieker.analysis.trace.traversal;
 
+import com.tinkerpop.blueprints.Graph;
+
 import kieker.analysis.traceanalysisdomain.OperationCall;
 import kieker.analysis.traceanalysisdomain.Trace;
 
 import teetime.stage.basic.AbstractTransformation;
 
-public class TraceTraverserStage extends AbstractTransformation<Trace, NamedGraph> {
+public class TraceTraverserStage extends AbstractTransformation<Trace, NamedGraph<Graph>> {
 
 	@Override
 	protected void execute(final Trace trace) {
@@ -18,7 +20,7 @@ public class TraceTraverserStage extends AbstractTransformation<Trace, NamedGrap
 
 		final String name = "trace-" + trace.hashCode();
 
-		final NamedGraph graph = new NamedGraph(name, name, traceToGraph.getGraph());
+		final NamedGraph<Graph> graph = new NamedGraph<>(name, name, traceToGraph.getGraph());
 
 		this.getOutputPort().send(graph);
 	}