diff --git a/.settings/edu.umd.cs.findbugs.core.prefs b/.settings/edu.umd.cs.findbugs.core.prefs
index 3859298be5bcb28e45aa0ee74a54927731d8e2fd..807c5813fa3ca608e8e83b3df801b191c1e11ed7 100644
--- a/.settings/edu.umd.cs.findbugs.core.prefs
+++ b/.settings/edu.umd.cs.findbugs.core.prefs
@@ -1,5 +1,5 @@
 #FindBugs User Preferences
-#Fri Dec 19 13:43:52 CET 2014
+#Wed Feb 04 14:55:08 CET 2015
 detector_threshold=3
 effort=max
 excludefilter0=.fbExcludeFilterFile|true
diff --git a/src/main/java/teetime/framework/RunnableStage.java b/src/main/java/teetime/framework/AbstractRunnableStage.java
similarity index 68%
rename from src/main/java/teetime/framework/RunnableStage.java
rename to src/main/java/teetime/framework/AbstractRunnableStage.java
index 514d8c18ea4d874017274d0e8d7423d4ec481fca..1aec986bc2b8e4fabfe6ed0a0e54a2f7d7f5938e 100644
--- a/src/main/java/teetime/framework/RunnableStage.java
+++ b/src/main/java/teetime/framework/AbstractRunnableStage.java
@@ -4,20 +4,21 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import teetime.framework.exceptionHandling.StageException;
-import teetime.framework.exceptionHandling.StageExceptionListener;
-import teetime.framework.exceptionHandling.StageExceptionListener.FurtherExecution;
+import teetime.framework.exceptionHandling.StageExceptionHandler;
+import teetime.framework.exceptionHandling.StageExceptionHandler.FurtherExecution;
 
-abstract class RunnableStage implements Runnable {
+abstract class AbstractRunnableStage implements Runnable {
+
+	private final StageExceptionHandler exceptionHandler;
 
 	protected final Stage stage;
 	@SuppressWarnings("PMD.LoggerIsNotStaticFinal")
 	protected final Logger logger;
-	private final StageExceptionListener listener;
 
-	public RunnableStage(final Stage stage, final StageExceptionListener exceptionListener) {
+	public AbstractRunnableStage(final Stage stage, final StageExceptionHandler exceptionHandler) {
 		this.stage = stage;
 		this.logger = LoggerFactory.getLogger(stage.getClass());
-		this.listener = exceptionListener;
+		this.exceptionHandler = exceptionHandler;
 	}
 
 	@Override
@@ -31,7 +32,8 @@ abstract class RunnableStage implements Runnable {
 				try {
 					executeStage();
 				} catch (StageException e) {
-					if (this.listener.onStageException(e, e.getThrowingStage()) == FurtherExecution.TERMINATE) {
+					final FurtherExecution furtherExecution = this.exceptionHandler.onStageException(e, e.getThrowingStage());
+					if (furtherExecution == FurtherExecution.TERMINATE) {
 						this.stage.terminate();
 						failed = true;
 					}
diff --git a/src/main/java/teetime/framework/Analysis.java b/src/main/java/teetime/framework/Analysis.java
index 71f746199a2d0e570f831d81f1f5479521045eef..6f7dab0ad1aebb8a51b4ed0684288f8e11239d3d 100644
--- a/src/main/java/teetime/framework/Analysis.java
+++ b/src/main/java/teetime/framework/Analysis.java
@@ -10,7 +10,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import teetime.framework.exceptionHandling.IgnoringStageListener;
-import teetime.framework.exceptionHandling.StageExceptionListener;
+import teetime.framework.exceptionHandling.StageExceptionHandler;
 import teetime.framework.signal.TerminatingSignal;
 import teetime.framework.signal.ValidatingSignal;
 import teetime.framework.validation.AnalysisNotValidException;
@@ -29,7 +29,7 @@ public class Analysis implements UncaughtExceptionHandler {
 
 	private final AnalysisConfiguration configuration;
 
-	private final StageExceptionListener listener;
+	private final StageExceptionHandler listener;
 
 	private boolean executionInterrupted = false;
 
@@ -61,11 +61,11 @@ public class Analysis implements UncaughtExceptionHandler {
 	 * @param listener
 	 *            specific listener for the exception handling
 	 */
-	public Analysis(final AnalysisConfiguration configuration, final StageExceptionListener listener) {
+	public Analysis(final AnalysisConfiguration configuration, final StageExceptionHandler listener) {
 		this(configuration, false, listener);
 	}
 
-	public Analysis(final AnalysisConfiguration configuration, final boolean validationEnabled, final StageExceptionListener listener) {
+	public Analysis(final AnalysisConfiguration configuration, final boolean validationEnabled, final StageExceptionHandler listener) {
 		this.configuration = configuration;
 		this.listener = listener;
 		if (validationEnabled) {
@@ -94,7 +94,7 @@ public class Analysis implements UncaughtExceptionHandler {
 	public void init() {
 		final List<Stage> threadableStageJobs = this.configuration.getThreadableStageJobs();
 		for (Stage stage : threadableStageJobs) {
-			StageExceptionListener newListener;
+			StageExceptionHandler newListener;
 			try {
 				newListener = listener.getClass().newInstance();
 			} catch (InstantiationException e) {
diff --git a/src/main/java/teetime/framework/RunnableConsumerStage.java b/src/main/java/teetime/framework/RunnableConsumerStage.java
index 3412e93289aa64d49942a22e7922b247766283c1..83743de1d39137e8cda7e52dcb7c6f20816ea42a 100644
--- a/src/main/java/teetime/framework/RunnableConsumerStage.java
+++ b/src/main/java/teetime/framework/RunnableConsumerStage.java
@@ -2,13 +2,13 @@ package teetime.framework;
 
 import java.util.Arrays;
 
-import teetime.framework.exceptionHandling.StageExceptionListener;
+import teetime.framework.exceptionHandling.StageExceptionHandler;
 import teetime.framework.idle.IdleStrategy;
 import teetime.framework.idle.YieldStrategy;
 import teetime.framework.pipe.IPipe;
 import teetime.framework.signal.ISignal;
 
-final class RunnableConsumerStage extends RunnableStage {
+final class RunnableConsumerStage extends AbstractRunnableStage {
 
 	private final IdleStrategy idleStrategy;
 
@@ -18,11 +18,11 @@ final class RunnableConsumerStage extends RunnableStage {
 	 * @param stage
 	 *            to execute within an own thread
 	 */
-	public RunnableConsumerStage(final Stage stage, final StageExceptionListener exceptionListener) {
+	public RunnableConsumerStage(final Stage stage, final StageExceptionHandler exceptionListener) {
 		this(stage, new YieldStrategy(), exceptionListener);
 	}
 
-	public RunnableConsumerStage(final Stage stage, final IdleStrategy idleStrategy, final StageExceptionListener exceptionListener) {
+	public RunnableConsumerStage(final Stage stage, final IdleStrategy idleStrategy, final StageExceptionHandler exceptionListener) {
 		super(stage, exceptionListener);
 		this.idleStrategy = idleStrategy;
 	}
diff --git a/src/main/java/teetime/framework/RunnableProducerStage.java b/src/main/java/teetime/framework/RunnableProducerStage.java
index 96411a74a38a84de3529585c54f057d6a8e39d93..9c4f7ac39ccb1bc899466f82d5d6311597082657 100644
--- a/src/main/java/teetime/framework/RunnableProducerStage.java
+++ b/src/main/java/teetime/framework/RunnableProducerStage.java
@@ -1,12 +1,12 @@
 package teetime.framework;
 
-import teetime.framework.exceptionHandling.StageExceptionListener;
+import teetime.framework.exceptionHandling.StageExceptionHandler;
 import teetime.framework.signal.StartingSignal;
 import teetime.framework.signal.TerminatingSignal;
 
-public final class RunnableProducerStage extends RunnableStage {
+public final class RunnableProducerStage extends AbstractRunnableStage {
 
-	public RunnableProducerStage(final Stage stage, final StageExceptionListener listener) {
+	public RunnableProducerStage(final Stage stage, final StageExceptionHandler listener) {
 		super(stage, listener);
 	}
 
diff --git a/src/main/java/teetime/framework/Stage.java b/src/main/java/teetime/framework/Stage.java
index 0d0b82c5ca34033eb60b67861c952c0b846bc402..9c7f2e8fbe3d81c5b82944a1f9d1540a4b7ff307 100644
--- a/src/main/java/teetime/framework/Stage.java
+++ b/src/main/java/teetime/framework/Stage.java
@@ -27,7 +27,7 @@ public abstract class Stage {
 	@SuppressWarnings("PMD.LoggerIsNotStaticFinal")
 	protected final Logger logger;
 
-	/** The owning thread of this stage if this stage is directly executed by a {@link RunnableStage}, <code>null</code> otherwise. */
+	/** The owning thread of this stage if this stage is directly executed by a {@link AbstractRunnableStage}, <code>null</code> otherwise. */
 	protected Thread owningThread;
 
 	protected Stage() {
diff --git a/src/main/java/teetime/framework/exceptionHandling/IgnoringStageListener.java b/src/main/java/teetime/framework/exceptionHandling/IgnoringStageListener.java
index cf6fb4e2f961bc50f4c473bbf4b7a3a7819ac1ff..0a169c8c5d9c9114ff79ebf6edcd1f547a7985de 100644
--- a/src/main/java/teetime/framework/exceptionHandling/IgnoringStageListener.java
+++ b/src/main/java/teetime/framework/exceptionHandling/IgnoringStageListener.java
@@ -2,7 +2,7 @@ package teetime.framework.exceptionHandling;
 
 import teetime.framework.Stage;
 
-public class IgnoringStageListener extends StageExceptionListener {
+public class IgnoringStageListener extends StageExceptionHandler {
 
 	public IgnoringStageListener() {
 		super();
diff --git a/src/main/java/teetime/framework/exceptionHandling/LoggingStageListener.java b/src/main/java/teetime/framework/exceptionHandling/LoggingStageListener.java
index f6c622f6f5555ad6bdd9a7d45be7a65e2ee3bae6..4341620cb83c1d6c8a5ff0e5108ba7a8a9a4fe37 100644
--- a/src/main/java/teetime/framework/exceptionHandling/LoggingStageListener.java
+++ b/src/main/java/teetime/framework/exceptionHandling/LoggingStageListener.java
@@ -2,7 +2,7 @@ package teetime.framework.exceptionHandling;
 
 import teetime.framework.Stage;
 
-public class LoggingStageListener extends StageExceptionListener {
+public class LoggingStageListener extends StageExceptionHandler {
 
 	@Override
 	public FurtherExecution onStageException(final Exception e, final Stage throwingStage) {
diff --git a/src/main/java/teetime/framework/exceptionHandling/StageExceptionListener.java b/src/main/java/teetime/framework/exceptionHandling/StageExceptionHandler.java
similarity index 92%
rename from src/main/java/teetime/framework/exceptionHandling/StageExceptionListener.java
rename to src/main/java/teetime/framework/exceptionHandling/StageExceptionHandler.java
index 68f0f209458b7e858ba30203c309d3c7b12c506a..c413fd2d995d5ec05ae48d492f18f370df30078f 100644
--- a/src/main/java/teetime/framework/exceptionHandling/StageExceptionListener.java
+++ b/src/main/java/teetime/framework/exceptionHandling/StageExceptionHandler.java
@@ -9,7 +9,7 @@ import teetime.framework.Stage;
  * Represent a minimalistic StageExceptionListener. Listener which extend from this one, must a least implement this functionality.
  * This abstract class provides a Logger {@link #logger} and a method to terminate the threads execution {@link #terminateExecution()}.
  */
-public abstract class StageExceptionListener {
+public abstract class StageExceptionHandler {
 
 	public enum FurtherExecution {
 		CONTINUE, TERMINATE
@@ -20,7 +20,7 @@ public abstract class StageExceptionListener {
 	 */
 	protected final Logger logger;
 
-	public StageExceptionListener() {
+	public StageExceptionHandler() {
 		this.logger = LoggerFactory.getLogger(this.getClass().getCanonicalName());
 	}
 
diff --git a/src/main/java/teetime/framework/exceptionHandling/TerminatingStageListener.java b/src/main/java/teetime/framework/exceptionHandling/TerminatingStageListener.java
index 810a7d577b4db1e536c1ccf61155adacf89503ea..74711a0aa3d981cc6baad27593237ff1062f9fb2 100644
--- a/src/main/java/teetime/framework/exceptionHandling/TerminatingStageListener.java
+++ b/src/main/java/teetime/framework/exceptionHandling/TerminatingStageListener.java
@@ -2,7 +2,7 @@ package teetime.framework.exceptionHandling;
 
 import teetime.framework.Stage;
 
-public class TerminatingStageListener extends StageExceptionListener {
+public class TerminatingStageListener extends StageExceptionHandler {
 
 	@Override
 	public FurtherExecution onStageException(final Exception e, final Stage throwingStage) {
diff --git a/src/site/markdown/wiki b/src/site/markdown/wiki
index a93581905ef7b0584d52eae1898148ffa6201a31..0e4474577e1f49bc96e734c286b2d9e0363895e8 160000
--- a/src/site/markdown/wiki
+++ b/src/site/markdown/wiki
@@ -1 +1 @@
-Subproject commit a93581905ef7b0584d52eae1898148ffa6201a31
+Subproject commit 0e4474577e1f49bc96e734c286b2d9e0363895e8
diff --git a/src/test/java/teetime/framework/exceptionHandling/TestListener.java b/src/test/java/teetime/framework/exceptionHandling/TestListener.java
index 34d040315418cb23c696527b9dc95cceb88e9ebd..cf1016825465825b7072d5812375b66c397916b3 100644
--- a/src/test/java/teetime/framework/exceptionHandling/TestListener.java
+++ b/src/test/java/teetime/framework/exceptionHandling/TestListener.java
@@ -2,7 +2,7 @@ package teetime.framework.exceptionHandling;
 
 import teetime.framework.Stage;
 
-public class TestListener extends StageExceptionListener {
+public class TestListener extends StageExceptionHandler {
 
 	public static int exceptionInvoked = 0;