diff --git a/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java b/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java
index dc851b1a8b42ebea7cf1b7c1be1f4b5195a9bef4..b01877090e32c69da43641ecf81b39fafbd7797e 100644
--- a/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java
+++ b/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java
@@ -19,7 +19,6 @@ import kieker.analysis.trace.traversal.AggrTraceTraverserStage;
 import kieker.analysis.trace.traversal.NamedGraph;
 import kieker.analysis.trace.traversal.TraceTraverserStage;
 import kieker.analysis.traceanalysisdomain.AggregatedOperationCall;
-import kieker.analysis.traceanalysisdomain.AggregatedTrace;
 import kieker.analysis.traceanalysisdomain.OperationCall;
 import kieker.analysis.traceanalysisdomain.Trace;
 import kieker.common.record.IMonitoringRecord;
@@ -37,12 +36,8 @@ import teetime.stage.basic.distributor.strategy.CopyByReferenceStrategy;
 
 public class TraceAnalysisConfiguration extends Configuration {
 
-	// TODO Clean up
-
-	private final List<Trace> traces = new ArrayList<>(1000);
 	private final List<OperationCall> operationCalls = new ArrayList<>(1000);
 	private final List<AggregatedOperationCall> aggregatedOperationCalls = new ArrayList<>(1000);
-	private final List<AggregatedTrace> aggregatedTraces = new ArrayList<>(1000);
 
 	private final List<KiekerMetadataRecord> metadataRecords = new ArrayList<>(1000);
 	private final TraceReconstructionComposite reconstruction;
@@ -54,14 +49,13 @@ public class TraceAnalysisConfiguration extends Configuration {
 		final ReadingComposite reader = new ReadingComposite(importDirectory);
 		final MultipleInstanceOfFilter<IMonitoringRecord> typeFilter = new MultipleInstanceOfFilter<>();
 		final Distributor<Trace> distributor = new Distributor<>(new CopyByReferenceStrategy());
-		final TraceAggregationComposite aggregation = new TraceAggregationComposite(this.aggregatedTraces);
+		final TraceAggregationComposite aggregation = new TraceAggregationComposite();
 		final CollectorSink<KiekerMetadataRecord> metadataCollector = new CollectorSink<>(this.metadataRecords);
 		final OperationCallHandlerComposite operationCallHandler = new OperationCallHandlerComposite(this.operationCalls, this.aggregatedOperationCalls);
 
 		this.allowedRecordsFilter = new AllowedRecordsFilter();
 		this.beginEndOfMonitoringDetector = new BeginEndOfMonitoringDetector();
-		this.reconstruction = new TraceReconstructionComposite(this.traces, true); // TODO Temp.
-		// this.reconstruction = new TraceReconstructionComposite(this.traces, PropertiesModel.getInstance().isAdditionalLogChecks());
+		this.reconstruction = new TraceReconstructionComposite(true); // TODO Temp. Get Data from PropertyModel
 
 		// Connect the stages
 		super.connectPorts(reader.getOutputPort(), allowedRecordsFilter.getInputPort());
@@ -73,7 +67,8 @@ public class TraceAnalysisConfiguration extends Configuration {
 		super.connectPorts(distributor.getNewOutputPort(), aggregation.getInputPort());
 		super.connectPorts(typeFilter.getOutputPortForType(KiekerMetadataRecord.class), metadataCollector.getInputPort());
 
-		// TODO move to own composite
+		// Graph Creation
+		// TODO move to own composite(s)
 
 		String graphFilesOutputDir = "example/event monitoring log/output"; // TODO Temp hard coded
 
@@ -131,14 +126,6 @@ public class TraceAnalysisConfiguration extends Configuration {
 		return this.allowedRecordsFilter.getIgnoredRecords();
 	}
 
-	public List<Trace> getTracesList() {
-		return this.traces;
-	}
-
-	public List<AggregatedTrace> getAggregatedTraces() {
-		return this.aggregatedTraces;
-	}
-
 	public List<KiekerMetadataRecord> getMetadataRecords() {
 		return this.metadataRecords;
 	}
diff --git a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceAggregationComposite.java b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceAggregationComposite.java
index 606b2bf7ad0f0710c5ee64c49b050bd8004816fb..a90dbded3e50517f1dd37b44de6e1333ab4aace7 100644
--- a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceAggregationComposite.java
+++ b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceAggregationComposite.java
@@ -16,8 +16,6 @@
 
 package kieker.analysis.stage.tracediagnosis;
 
-import java.util.List;
-
 import kieker.analysis.traceanalysisdomain.AggregatedTrace;
 import kieker.analysis.traceanalysisdomain.Trace;
 
@@ -26,26 +24,20 @@ import teetime.framework.InputPort;
 import teetime.framework.OutputPort;
 
 /**
- * This is a composite {@code TeeTime} stage which aggregates incoming traces, adds statistical data and stores the aggregated traces.
+ * This is a composite {@code TeeTime} stage which aggregates incoming traces, adds statistical data and send them to the output port.
  *
- * @author Nils Christian Ehmke
+ * @author Nils Christian Ehmke, Sören henning
  */
 public final class TraceAggregationComposite extends AbstractCompositeStage {
 
-	// TODO Maybe remove CollectorSink because its not longer necessary
-
 	private final TraceAggregator aggregator;
-	// private final CollectorSink<AggregatedTrace> tracesCollector;
 	private final AggregatedTraceStatisticsDecorator statisticsDecorator;
 
-	public TraceAggregationComposite(final List<AggregatedTrace> traces) {
+	public TraceAggregationComposite() {
 		this.aggregator = new TraceAggregator();
 		this.statisticsDecorator = new AggregatedTraceStatisticsDecorator();
-		// this.tracesCollector = new CollectorSink<>(traces);
 
 		super.connectPorts(this.aggregator.getOutputPort(), this.statisticsDecorator.getInputPort());
-		// super.connectPorts(this.statisticsDecorator.getOutputPort(), this.tracesCollector.getInputPort());
-
 	}
 
 	public InputPort<Trace> getInputPort() {
diff --git a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructionComposite.java b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructionComposite.java
index 7f38b068ecac64385e96de13f55fd779b89e45ce..8d13a6b25918a16cfc883511713586fa0b552d4c 100644
--- a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructionComposite.java
+++ b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructionComposite.java
@@ -16,8 +16,6 @@
 
 package kieker.analysis.stage.tracediagnosis;
 
-import java.util.List;
-
 import kieker.analysis.traceanalysisdomain.Trace;
 import kieker.common.record.IMonitoringRecord;
 import kieker.common.record.controlflow.OperationExecutionRecord;
@@ -26,34 +24,26 @@ import kieker.common.record.flow.IFlowRecord;
 import teetime.framework.AbstractCompositeStage;
 import teetime.framework.InputPort;
 import teetime.framework.OutputPort;
-import teetime.stage.CollectorSink;
 import teetime.stage.MultipleInstanceOfFilter;
-import teetime.stage.basic.distributor.Distributor;
-import teetime.stage.basic.distributor.strategy.CopyByReferenceStrategy;
 import teetime.stage.basic.merger.Merger;
 
 /**
- * This class is a composite {@code TeeTime} stage, which reconstruct traces based on the incoming records, adds statistical data and stores the traces.
+ * This class is a composite {@code TeeTime} stage, which reconstruct traces based on the incoming records, adds statistical data and send them to the output port.
  *
- * @author Nils Christian Ehmke
+ * @author Nils Christian Ehmke, Sören Henning
  */
 public final class TraceReconstructionComposite extends AbstractCompositeStage {
 
-	// TODO Maybe remove CollectorSink because its not longer necessary
-
 	private final MultipleInstanceOfFilter<IMonitoringRecord> typeFilter;
-	private final CollectorSink<Trace> tracesCollector;
 	private final TraceStatisticsDecorator statisticsDecorator;
 	private final OutputPort<Trace> outputPort;
 	private final LegacyTraceReconstructor legacyReconstructor;
 	private final TraceReconstructor reconstructor;
 
-	public TraceReconstructionComposite(final List<Trace> traces, final boolean activateAdditionalLogChecks) {
-		final Distributor<Trace> distributor = new Distributor<>(new CopyByReferenceStrategy());
+	public TraceReconstructionComposite(final boolean activateAdditionalLogChecks) {
 		final Merger<Trace> merger = new Merger<>();
 
 		this.typeFilter = new MultipleInstanceOfFilter<>();
-		this.tracesCollector = new CollectorSink<>(traces);
 		this.statisticsDecorator = new TraceStatisticsDecorator();
 		this.reconstructor = new TraceReconstructor(activateAdditionalLogChecks);
 		this.legacyReconstructor = new LegacyTraceReconstructor();
@@ -64,9 +54,7 @@ public final class TraceReconstructionComposite extends AbstractCompositeStage {
 		super.connectPorts(this.typeFilter.getOutputPortForType(OperationExecutionRecord.class), this.legacyReconstructor.getInputPort());
 		super.connectPorts(this.reconstructor.getOutputPort(), merger.getNewInputPort());
 		super.connectPorts(this.legacyReconstructor.getOutputPort(), merger.getNewInputPort());
-		super.connectPorts(merger.getOutputPort(), distributor.getInputPort());
-		super.connectPorts(distributor.getNewOutputPort(), this.tracesCollector.getInputPort());
-		super.connectPorts(distributor.getNewOutputPort(), this.statisticsDecorator.getInputPort());
+		super.connectPorts(merger.getOutputPort(), this.statisticsDecorator.getInputPort());
 
 	}