diff --git a/src/main/java/teetime/framework/A1ThreadableStageCollector.java b/src/main/java/teetime/framework/A1ThreadableStageCollector.java
index 0b34c30bdb024cde2a78756d2dd4524514736cd5..387ad88f18ec95014136bfa6aedf145d1e11aadf 100644
--- a/src/main/java/teetime/framework/A1ThreadableStageCollector.java
+++ b/src/main/java/teetime/framework/A1ThreadableStageCollector.java
@@ -19,6 +19,7 @@ import java.util.HashSet;
 import java.util.Set;
 
 import teetime.framework.Traverser.VisitorBehavior;
+import teetime.framework.pipe.DummyPipe;
 
 /**
  * Searches for threadable stages
@@ -44,4 +45,10 @@ class A1ThreadableStageCollector implements ITraverserVisitor {
 		return VisitorBehavior.CONTINUE;
 	}
 
+	@Override
+	public void visit(final DummyPipe pipe, final AbstractPort<?> port) {
+		// TODO Auto-generated method stub
+
+	}
+
 }
diff --git a/src/main/java/teetime/framework/A2InvalidThreadAssignmentCheck.java b/src/main/java/teetime/framework/A2InvalidThreadAssignmentCheck.java
index 043c31ee365f61ce0fd2927f51b55c393e71c2f7..fd4712307644ecd9e4305f31f3b491961e9ad925 100644
--- a/src/main/java/teetime/framework/A2InvalidThreadAssignmentCheck.java
+++ b/src/main/java/teetime/framework/A2InvalidThreadAssignmentCheck.java
@@ -21,6 +21,7 @@ import com.carrotsearch.hppc.ObjectIntHashMap;
 import com.carrotsearch.hppc.ObjectIntMap;
 
 import teetime.framework.Traverser.VisitorBehavior;
+import teetime.framework.pipe.DummyPipe;
 import teetime.framework.pipe.IPipe;
 
 /**
@@ -90,5 +91,11 @@ public class A2InvalidThreadAssignmentCheck {
 			return VisitorBehavior.STOP;
 		}
 
+		@Override
+		public void visit(final DummyPipe pipe, final AbstractPort<?> port) {
+			// TODO Auto-generated method stub
+
+		}
+
 	}
 }
diff --git a/src/main/java/teetime/framework/A3PipeInstantiation.java b/src/main/java/teetime/framework/A3PipeInstantiation.java
index 4bbe1a9cf9315b59b96ce98a788ed89d3b5c3377..c1103fda09ead8ddd1c65f5b35324081ba7a6654 100644
--- a/src/main/java/teetime/framework/A3PipeInstantiation.java
+++ b/src/main/java/teetime/framework/A3PipeInstantiation.java
@@ -18,7 +18,11 @@ package teetime.framework;
 import java.util.HashSet;
 import java.util.Set;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import teetime.framework.Traverser.VisitorBehavior;
+import teetime.framework.pipe.DummyPipe;
 import teetime.framework.pipe.IPipe;
 import teetime.framework.pipe.IPipeFactory;
 import teetime.framework.pipe.InstantiationPipe;
@@ -31,6 +35,7 @@ import teetime.framework.pipe.UnboundedSpScPipeFactory;
  */
 class A3PipeInstantiation implements ITraverserVisitor {
 
+	private static final Logger LOGGER = LoggerFactory.getLogger(Execution.class);
 	private static final IPipeFactory interBoundedThreadPipeFactory = new SpScPipeFactory();
 	private static final IPipeFactory interUnboundedThreadPipeFactory = new UnboundedSpScPipeFactory();
 	private static final IPipeFactory intraThreadPipeFactory = new SingleElementPipeFactory();
@@ -77,4 +82,9 @@ class A3PipeInstantiation implements ITraverserVisitor {
 
 	}
 
+	@Override
+	public void visit(final DummyPipe pipe, final AbstractPort<?> port) {
+		LOGGER.debug("Unconnected port " + port + " in stage " + port.getOwningStage().getId());
+	}
+
 }
diff --git a/src/main/java/teetime/framework/ITraverserVisitor.java b/src/main/java/teetime/framework/ITraverserVisitor.java
index 5cd376f07062437affec96bae3b31c95f777af2e..f089a258104be16050a059274784aab52ffea936 100644
--- a/src/main/java/teetime/framework/ITraverserVisitor.java
+++ b/src/main/java/teetime/framework/ITraverserVisitor.java
@@ -16,6 +16,7 @@
 package teetime.framework;
 
 import teetime.framework.Traverser.VisitorBehavior;
+import teetime.framework.pipe.DummyPipe;
 
 public interface ITraverserVisitor {
 
@@ -23,4 +24,6 @@ public interface ITraverserVisitor {
 
 	VisitorBehavior visit(AbstractPort<?> port);
 
+	void visit(DummyPipe pipe, AbstractPort<?> port);
+
 }
diff --git a/src/main/java/teetime/framework/IntraStageCollector.java b/src/main/java/teetime/framework/IntraStageCollector.java
index 40ccaa5bba2919c9feb550f0bb5b545c0b6b9d52..3e95ba4daab30808d950bbe251e0b7bc63376caf 100644
--- a/src/main/java/teetime/framework/IntraStageCollector.java
+++ b/src/main/java/teetime/framework/IntraStageCollector.java
@@ -16,6 +16,7 @@
 package teetime.framework;
 
 import teetime.framework.Traverser.VisitorBehavior;
+import teetime.framework.pipe.DummyPipe;
 
 public class IntraStageCollector implements ITraverserVisitor {
 
@@ -40,4 +41,10 @@ public class IntraStageCollector implements ITraverserVisitor {
 		return VisitorBehavior.CONTINUE;
 	}
 
+	@Override
+	public void visit(final DummyPipe pipe, final AbstractPort<?> port) {
+		// TODO Auto-generated method stub
+
+	}
+
 }
diff --git a/src/main/java/teetime/framework/Traverser.java b/src/main/java/teetime/framework/Traverser.java
index 79424ba4cf2ae5bc22a34634e3f62cfe87b3d0a3..6bb62c647a640fa40cea23a800c1378d448538d7 100644
--- a/src/main/java/teetime/framework/Traverser.java
+++ b/src/main/java/teetime/framework/Traverser.java
@@ -18,9 +18,6 @@ package teetime.framework;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import teetime.framework.pipe.DummyPipe;
 
 /**
@@ -32,8 +29,6 @@ import teetime.framework.pipe.DummyPipe;
  */
 public class Traverser {
 
-	private static final Logger LOGGER = LoggerFactory.getLogger(Execution.class);
-
 	public static enum Direction {
 		BACKWARD(1), FORWARD(2), BOTH(BACKWARD.value | FORWARD.value);
 
@@ -87,11 +82,7 @@ public class Traverser {
 
 	private void visitAndTraverse(final AbstractPort<?> port, final Direction direction) {
 		if (port.getPipe() instanceof DummyPipe) {
-			if (direction == Direction.FORWARD) {
-				if (traverserVisitor instanceof A3PipeInstantiation) {
-					LOGGER.debug("Unconnected port " + port + " in stage " + port.getOwningStage().getId());
-				}
-			}
+			traverserVisitor.visit((DummyPipe) port.getPipe(), port);
 			return;
 		}
 		VisitorBehavior behavior = traverserVisitor.visit(port);