diff --git a/src/main/java/teetime/framework/CompositeStage.java b/src/main/java/teetime/framework/CompositeStage.java
index f71034daede673f2b84ef2340f5005caebd8b95d..22ee496c6fb692b61692e5c397fbe4e602649938 100644
--- a/src/main/java/teetime/framework/CompositeStage.java
+++ b/src/main/java/teetime/framework/CompositeStage.java
@@ -48,39 +48,39 @@ public abstract class CompositeStage extends Stage {
 	}
 
 	@Override
-	protected void onSignal(final ISignal signal, final InputPort<?> inputPort) {
+	protected final void onSignal(final ISignal signal, final InputPort<?> inputPort) {
 		getFirstStage().onSignal(signal, inputPort);
 	}
 
 	@Override
-	protected TerminationStrategy getTerminationStrategy() {
+	protected final TerminationStrategy getTerminationStrategy() {
 		return getFirstStage().getTerminationStrategy();
 	}
 
 	@Override
-	protected void terminate() {
+	protected final void terminate() {
 		getFirstStage().terminate();
 	}
 
 	@Override
-	protected boolean shouldBeTerminated() {
+	protected final boolean shouldBeTerminated() {
 		return getFirstStage().shouldBeTerminated();
 	}
 
 	@Override
-	protected InputPort<?>[] getInputPorts() {
+	protected final InputPort<?>[] getInputPorts() {
 		return getFirstStage().getInputPorts();
 	}
 
 	@Override
-	public void validateOutputPorts(final List<InvalidPortConnection> invalidPortConnections) {
+	public final void validateOutputPorts(final List<InvalidPortConnection> invalidPortConnections) {
 		for (final Stage s : getLastStages()) {
 			s.validateOutputPorts(invalidPortConnections);
 		}
 	}
 
 	@Override
-	protected boolean isStarted() {
+	protected final boolean isStarted() {
 		boolean isStarted = true;
 		for (final Stage s : getLastStages()) {
 			isStarted = isStarted && s.isStarted();
@@ -89,7 +89,7 @@ public abstract class CompositeStage extends Stage {
 	}
 
 	@Override
-	void setOwningThread(final Thread owningThread) {
+	final void setOwningThread(final Thread owningThread) {
 		getFirstStage().setOwningThread(owningThread);
 		super.setOwningThread(owningThread);
 	}
diff --git a/src/main/java/teetime/stage/io/EveryXthPrinter.java b/src/main/java/teetime/stage/io/EveryXthPrinter.java
index 4fd4b539ba2e24ae32eba88e132e0505e1d81a6b..a06f38d81fdf78f7dcd913f6f3be1491ad094f82 100644
--- a/src/main/java/teetime/stage/io/EveryXthPrinter.java
+++ b/src/main/java/teetime/stage/io/EveryXthPrinter.java
@@ -23,9 +23,6 @@ import teetime.framework.CompositeStage;
 import teetime.framework.InputPort;
 import teetime.framework.OutputPort;
 import teetime.framework.Stage;
-import teetime.framework.TerminationStrategy;
-import teetime.framework.signal.ISignal;
-import teetime.framework.validation.InvalidPortConnection;
 import teetime.stage.EveryXthStage;
 import teetime.stage.basic.distributor.CopyByReferenceStrategy;
 import teetime.stage.basic.distributor.Distributor;
@@ -47,31 +44,6 @@ public final class EveryXthPrinter<T> extends CompositeStage {
 		distributor.setStrategy(new CopyByReferenceStrategy());
 	}
 
-	@Override
-	public void validateOutputPorts(final List<InvalidPortConnection> invalidPortConnections) {
-		distributor.validateOutputPorts(invalidPortConnections);
-	}
-
-	@Override
-	protected void onSignal(final ISignal signal, final InputPort<?> inputPort) {
-		distributor.onSignal(signal, inputPort);
-	}
-
-	@Override
-	protected TerminationStrategy getTerminationStrategy() {
-		return distributor.getTerminationStrategy();
-	}
-
-	@Override
-	protected void terminate() {
-		distributor.terminate();
-	}
-
-	@Override
-	protected boolean shouldBeTerminated() {
-		return distributor.shouldBeTerminated();
-	}
-
 	public InputPort<T> getInputPort() {
 		return distributor.getInputPort();
 	}
@@ -80,16 +52,6 @@ public final class EveryXthPrinter<T> extends CompositeStage {
 		return distributor.getNewOutputPort();
 	}
 
-	@Override
-	protected InputPort<?>[] getInputPorts() {
-		return distributor.getInputPorts();
-	}
-
-	@Override
-	protected boolean isStarted() {
-		return distributor.isStarted();
-	}
-
 	@Override
 	protected Stage getFirstStage() {
 		return distributor;