diff --git a/src/main/java/teetime/framework/AbstractStage.java b/src/main/java/teetime/framework/AbstractStage.java
index f079cbd2253b7d1ae5614932eb2ac14d0c74ac0a..531af2d74fe2d06bc457b41b6eace9236407388b 100644
--- a/src/main/java/teetime/framework/AbstractStage.java
+++ b/src/main/java/teetime/framework/AbstractStage.java
@@ -210,7 +210,7 @@ public abstract class AbstractStage {
 	 *            The port which received the signal
 	 */
 	@SuppressWarnings("PMD.DataflowAnomalyAnalysis")
-	protected final void onSignal(final ISignal signal, final InputPort<?> inputPort) {
+	final void onSignal(final ISignal signal, final InputPort<?> inputPort) {
 		Class<? extends ISignal> signalClass = signal.getClass();
 
 		Set<InputPort<?>> signalReceivedInputPorts;
diff --git a/src/test/java/teetime/framework/AbstractStageTest.java b/src/test/java/teetime/framework/AbstractStageTest.java
index a521577b004639d07444a53f212cce977e54ca5b..3733e80585054c53007b9e1886761265ef87c75c 100644
--- a/src/test/java/teetime/framework/AbstractStageTest.java
+++ b/src/test/java/teetime/framework/AbstractStageTest.java
@@ -104,84 +104,84 @@ public class AbstractStageTest {
 	//
 	//
 
-	private Merger<Integer> merger;
+	private Merger<Integer> arbitraryStage;
 	private InputPort<Integer> firstPort;
 	private InputPort<Integer> secondPort;
 	private MergerTestingPipe mergerOutputPipe;
 
 	@Before
 	public void beforeSignalTesting() {
-		merger = new Merger<Integer>();
-		merger.declareActive(); // necessary to initialize the owning thread for onStarting()
+		arbitraryStage = new Merger<Integer>();
+		arbitraryStage.declareActive(); // necessary to initialize the owning thread for onStarting()
 
-		firstPort = merger.getNewInputPort();
-		secondPort = merger.getNewInputPort();
+		firstPort = arbitraryStage.getNewInputPort();
+		secondPort = arbitraryStage.getNewInputPort();
 
 		mergerOutputPipe = new MergerTestingPipe();
-		merger.getOutputPort().setPipe(mergerOutputPipe);
+		arbitraryStage.getOutputPort().setPipe(mergerOutputPipe);
 	}
 
 	@Test
 	public void testSameSignal() {
-		merger.onSignal(new StartingSignal(), firstPort);
+		((AbstractStage) arbitraryStage).onSignal(new StartingSignal(), firstPort);
 		assertTrue(mergerOutputPipe.startSent());
 		mergerOutputPipe.reset();
-		merger.onSignal(new StartingSignal(), secondPort);
+		((AbstractStage) arbitraryStage).onSignal(new StartingSignal(), secondPort);
 		assertFalse(mergerOutputPipe.startSent());
 	}
 
 	@Test
 	public void testDifferentSignals() {
-		merger.onSignal(new StartingSignal(), firstPort);
+		((AbstractStage) arbitraryStage).onSignal(new StartingSignal(), firstPort);
 		assertTrue(mergerOutputPipe.startSent());
 		mergerOutputPipe.reset();
 
-		merger.onSignal(new TerminatingSignal(), secondPort);
+		((AbstractStage) arbitraryStage).onSignal(new TerminatingSignal(), secondPort);
 		assertFalse(mergerOutputPipe.startSent());
 	}
 
 	@Test
 	public void testInterleavedSignals() {
-		merger.onSignal(new StartingSignal(), firstPort);
+		((AbstractStage) arbitraryStage).onSignal(new StartingSignal(), firstPort);
 		assertTrue(mergerOutputPipe.startSent());
 		assertFalse(mergerOutputPipe.terminateSent());
 		mergerOutputPipe.reset();
 
-		merger.onSignal(new TerminatingSignal(), secondPort);
+		((AbstractStage) arbitraryStage).onSignal(new TerminatingSignal(), secondPort);
 		assertFalse(mergerOutputPipe.startSent());
 		assertFalse(mergerOutputPipe.terminateSent());
 		mergerOutputPipe.reset();
 
-		merger.onSignal(new TerminatingSignal(), firstPort);
+		((AbstractStage) arbitraryStage).onSignal(new TerminatingSignal(), firstPort);
 		assertFalse(mergerOutputPipe.startSent());
 		assertTrue(mergerOutputPipe.terminateSent());
 		mergerOutputPipe.reset();
 
-		merger.onSignal(new TerminatingSignal(), firstPort);
+		((AbstractStage) arbitraryStage).onSignal(new TerminatingSignal(), firstPort);
 		assertFalse(mergerOutputPipe.startSent());
 		assertFalse(mergerOutputPipe.terminateSent());
 		mergerOutputPipe.reset();
 
-		merger.onSignal(new StartingSignal(), secondPort);
+		((AbstractStage) arbitraryStage).onSignal(new StartingSignal(), secondPort);
 		assertFalse(mergerOutputPipe.startSent());
 		assertFalse(mergerOutputPipe.terminateSent());
 	}
 
 	@Test
 	public void testMultipleSignals() {
-		merger.onSignal(new StartingSignal(), firstPort);
+		((AbstractStage) arbitraryStage).onSignal(new StartingSignal(), firstPort);
 		assertTrue(mergerOutputPipe.startSent());
 		mergerOutputPipe.reset();
 
-		merger.onSignal(new StartingSignal(), firstPort);
+		((AbstractStage) arbitraryStage).onSignal(new StartingSignal(), firstPort);
 		assertFalse(mergerOutputPipe.startSent());
 		mergerOutputPipe.reset();
 
-		merger.onSignal(new StartingSignal(), firstPort);
+		((AbstractStage) arbitraryStage).onSignal(new StartingSignal(), firstPort);
 		assertFalse(mergerOutputPipe.startSent());
 		mergerOutputPipe.reset();
 
-		merger.onSignal(new StartingSignal(), secondPort);
+		((AbstractStage) arbitraryStage).onSignal(new StartingSignal(), secondPort);
 		assertFalse(mergerOutputPipe.startSent());
 	}