diff --git a/src/main/java/teetime/framework/test/StageTester.java b/src/main/java/teetime/framework/test/StageTester.java
index a7940d9688c145f8cbc8d3db1abc42364ede6a01..2326e224d379b0204e35f28bf88b88244c4edc81 100644
--- a/src/main/java/teetime/framework/test/StageTester.java
+++ b/src/main/java/teetime/framework/test/StageTester.java
@@ -17,6 +17,7 @@ package teetime.framework.test;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.List;
 
 import teetime.framework.Analysis;
@@ -29,6 +30,7 @@ import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering;
 import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication;
 import teetime.stage.CollectorSink;
 import teetime.stage.IterableProducer;
+import teetime.util.Pair;
 
 /**
  * This class can be used to test single stages in JUnit test cases.
@@ -50,7 +52,7 @@ public final class StageTester {
 	}
 
 	public <I> InputHolder<I> send(final Iterable<I> input) {
-		InputHolder<I> inputHolder = new InputHolder<I>(input);
+		final InputHolder<I> inputHolder = new InputHolder<I>(input);
 		this.inputHolders.add(inputHolder);
 		return inputHolder;
 	}
@@ -59,8 +61,8 @@ public final class StageTester {
 		return this.send(Arrays.asList(input));
 	}
 
-	public <O> OutputHolder<O> receive(final List<O> output) {
-		OutputHolder<O> outputHolder = new OutputHolder<O>(output);
+	public <O> OutputHolder<O> receive(final List<O> outputList) {
+		final OutputHolder<O> outputHolder = new OutputHolder<O>(outputList);
 		this.outputHolders.add(outputHolder);
 		return outputHolder;
 	}
@@ -69,10 +71,10 @@ public final class StageTester {
 		return this;
 	}
 
-	public void start() {
+	public Collection<Pair<Thread, Throwable>> start() {
 		final AnalysisConfiguration configuration = new Configuration();
 		final Analysis analysis = new Analysis(configuration);
-		analysis.start();
+		return analysis.start();
 	}
 
 	public final class InputHolder<I> {
@@ -107,12 +109,12 @@ public final class StageTester {
 
 	public final class OutputHolder<O> {
 
-		private final List<Object> output;
+		private final List<Object> outputElements;
 		private OutputPort<Object> port;
 
 		@SuppressWarnings("unchecked")
-		private OutputHolder(final List<O> output) {
-			this.output = (List<Object>) output;
+		private OutputHolder(final List<O> outputList) {
+			this.outputElements = (List<Object>) outputList;
 		}
 
 		@SuppressWarnings("unchecked")
@@ -122,8 +124,8 @@ public final class StageTester {
 			return StageTester.this;
 		}
 
-		public List<Object> getOutput() {
-			return output;
+		public List<Object> getOutputElements() {
+			return outputElements;
 		}
 
 		public OutputPort<Object> getPort() {
@@ -147,7 +149,7 @@ public final class StageTester {
 
 			final IPipeFactory intraPipeFactory = PIPE_FACTORY_REGISTRY.getPipeFactory(ThreadCommunication.INTRA, PipeOrdering.ARBITRARY, false);
 			for (OutputHolder<?> outputHolder : outputHolders) {
-				final CollectorSink<Object> sink = new CollectorSink<Object>(outputHolder.getOutput());
+				final CollectorSink<Object> sink = new CollectorSink<Object>(outputHolder.getOutputElements());
 				intraPipeFactory.create(outputHolder.getPort(), sink.getInputPort());
 			}
 		}