diff --git a/src/main/java/com/syncleus/grail/graph/Propagator.java b/src/main/java/com/syncleus/grail/graph/Propagator.java
index 1cd1b3a9b7fe2e89d4a5491b32a9a8e0e80da0a9..d5cb2acee3d6893e24f6c629cd4af21a3fe36267 100644
--- a/src/main/java/com/syncleus/grail/graph/Propagator.java
+++ b/src/main/java/com/syncleus/grail/graph/Propagator.java
@@ -2,6 +2,6 @@ package com.syncleus.grail.graph;
 
 import com.tinkerpop.frames.modules.javahandler.*;
 
-public interface Propagator {
+public interface Propagator extends Signaler {
     void propagate();
 }
diff --git a/src/main/java/com/syncleus/grail/graph/SignalMultiplyingEdge.java b/src/main/java/com/syncleus/grail/graph/SignalMultiplyingEdge.java
index a55bcaab5f7f57132ed936d040590322fe50b5a8..d75265cf8c591a55c12efc4da66a2a33afbbc282 100644
--- a/src/main/java/com/syncleus/grail/graph/SignalMultiplyingEdge.java
+++ b/src/main/java/com/syncleus/grail/graph/SignalMultiplyingEdge.java
@@ -7,7 +7,7 @@ import com.tinkerpop.frames.modules.typedgraph.*;
 @TypeField("type")
 @TypeValue("Synapse")
 @JavaHandlerClass(AbstractSignalMultiplyingEdge.class)
-public interface SignalMultiplyingEdge extends Weighted, Signaler, Propagator, EdgeFrame {
+public interface SignalMultiplyingEdge extends Weighted, Propagator, EdgeFrame {
     @OutVertex
     Signaler getSource();
 
diff --git a/src/main/java/com/syncleus/grail/neural/ActivationNeuron.java b/src/main/java/com/syncleus/grail/neural/ActivationNeuron.java
index 76271c77bb87aa02977e1a7cbe380f3284803dea..72184256fd0f13e12fd94a1d8d199903989adaf7 100644
--- a/src/main/java/com/syncleus/grail/neural/ActivationNeuron.java
+++ b/src/main/java/com/syncleus/grail/neural/ActivationNeuron.java
@@ -9,7 +9,7 @@ import com.tinkerpop.frames.modules.typedgraph.TypeField;
 
 @TypeField("type")
 @JavaHandlerClass(AbstractActivationNeuron.class)
-public interface ActivationNeuron extends Signaler, Propagator, VertexFrame {
+public interface ActivationNeuron extends Propagator, VertexFrame {
     @Override
     @JavaHandler
     void propagate();