diff --git a/src/main/java/teetime/framework/AbstractRunnableStage.java b/src/main/java/teetime/framework/AbstractRunnableStage.java
index d9116d45cb552c56a3fc7c6ec96f6898c4dcf7e7..2739161a86a81c7fa18d57a8df215f809e21701b 100644
--- a/src/main/java/teetime/framework/AbstractRunnableStage.java
+++ b/src/main/java/teetime/framework/AbstractRunnableStage.java
@@ -83,7 +83,7 @@ abstract class AbstractRunnableStage implements Runnable {
 
 	protected abstract void afterStageExecution();
 
-	public static AbstractRunnableStage create(final Stage stage) {
+	static AbstractRunnableStage create(final Stage stage) {
 		if (stage.getTerminationStrategy() == TerminationStrategy.BY_SIGNAL) {
 			return new RunnableConsumerStage(stage);
 		} else {
diff --git a/src/main/java/teetime/framework/RunnableProducerStage.java b/src/main/java/teetime/framework/RunnableProducerStage.java
index 9ee6cf833bdc249273b8be00ca43538edd8f4c3d..61cecd07c33eda5ff0a9d98d74dcf60b52228abd 100644
--- a/src/main/java/teetime/framework/RunnableProducerStage.java
+++ b/src/main/java/teetime/framework/RunnableProducerStage.java
@@ -20,11 +20,11 @@ import java.util.concurrent.Semaphore;
 import teetime.framework.signal.StartingSignal;
 import teetime.framework.signal.TerminatingSignal;
 
-public final class RunnableProducerStage extends AbstractRunnableStage {
+public class RunnableProducerStage extends AbstractRunnableStage {
 
 	private final Semaphore startSemaphore = new Semaphore(0);
 
-	RunnableProducerStage(final Stage stage) {
+	public RunnableProducerStage(final Stage stage) {
 		super(stage);
 	}
 
@@ -45,7 +45,7 @@ public final class RunnableProducerStage extends AbstractRunnableStage {
 		this.stage.onSignal(terminatingSignal, null);
 	}
 
-	public void triggerStartingSignal() {
+	void triggerStartingSignal() {
 		startSemaphore.release();
 	}