diff --git a/src/main/java/com/syncleus/dann/graph/Cloud.java b/src/main/java/com/syncleus/dann/graph/Cloud.java
index 3f5befb238822cf07525eaa194a9499ce8e41ec9..cbd0158ae69b40337c1ded89b8ddd72732deb0d0 100644
--- a/src/main/java/com/syncleus/dann/graph/Cloud.java
+++ b/src/main/java/com/syncleus/dann/graph/Cloud.java
@@ -21,7 +21,7 @@ package com.syncleus.dann.graph;
 import java.io.Serializable;
 import java.util.Collection;
 import java.util.Set;
-import com.syncleus.dann.graph.context.ContextReporter;
+import com.syncleus.dann.graph.event.context.ContextReporter;
 import com.syncleus.dann.graph.xml.EdgeXml;
 import com.syncleus.dann.xml.XmlSerializable;
 
diff --git a/src/main/java/com/syncleus/dann/graph/MutableDirectedAdjacencyGraph.java b/src/main/java/com/syncleus/dann/graph/MutableDirectedAdjacencyGraph.java
index 043473fb37622603b2ba2fa7a0a6385618734fcd..6803f6e788994ba904e6d1de70c0db8b652e922e 100644
--- a/src/main/java/com/syncleus/dann/graph/MutableDirectedAdjacencyGraph.java
+++ b/src/main/java/com/syncleus/dann/graph/MutableDirectedAdjacencyGraph.java
@@ -22,7 +22,7 @@ import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-import com.syncleus.dann.graph.context.ContextGraphNode;
+import com.syncleus.dann.graph.event.context.ContextGraphNode;
 
 public class MutableDirectedAdjacencyGraph<N, E extends DirectedEdge<N>> extends AbstractDirectedAdjacencyGraph<N, E> implements MutableDirectedGraph<N, E>
 {
diff --git a/src/main/java/com/syncleus/dann/graph/MutableHyperAdjacencyGraph.java b/src/main/java/com/syncleus/dann/graph/MutableHyperAdjacencyGraph.java
index b4fba6195aa925889d66a60d4c8cb4dfd76168a4..cafca9b978fb10244ae1ef3027eea0c830a77829 100644
--- a/src/main/java/com/syncleus/dann/graph/MutableHyperAdjacencyGraph.java
+++ b/src/main/java/com/syncleus/dann/graph/MutableHyperAdjacencyGraph.java
@@ -22,7 +22,7 @@ import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-import com.syncleus.dann.graph.context.ContextGraphNode;
+import com.syncleus.dann.graph.event.context.ContextGraphNode;
 
 public class MutableHyperAdjacencyGraph<N, E extends HyperEdge<N>> extends AbstractHyperAdjacencyGraph<N, E> implements MutableHyperGraph<N, E>
 {
diff --git a/src/main/java/com/syncleus/dann/graph/MutableRootedTreeAdjacencyGraph.java b/src/main/java/com/syncleus/dann/graph/MutableRootedTreeAdjacencyGraph.java
index d08a6b7a68de8225ad0d160f18a928b15b3b3193..2cde1c3c5a5cf018f3d1c3b341e36e4af152a1a7 100644
--- a/src/main/java/com/syncleus/dann/graph/MutableRootedTreeAdjacencyGraph.java
+++ b/src/main/java/com/syncleus/dann/graph/MutableRootedTreeAdjacencyGraph.java
@@ -22,7 +22,7 @@ import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-import com.syncleus.dann.graph.context.ContextGraphNode;
+import com.syncleus.dann.graph.event.context.ContextGraphNode;
 
 public class MutableRootedTreeAdjacencyGraph<N, E extends DirectedEdge<N>> extends AbstractRootedTreeAdjacencyGraph<N, E> implements MutableRootedTreeGraph<N, E>
 {
diff --git a/src/main/java/com/syncleus/dann/graph/MutableTreeAdjacencyGraph.java b/src/main/java/com/syncleus/dann/graph/MutableTreeAdjacencyGraph.java
index 939d81d6f1337f6fb27a06c94a5f0dd429417498..dd3205a036179ee7b57e3178ced4811f37aa1786 100644
--- a/src/main/java/com/syncleus/dann/graph/MutableTreeAdjacencyGraph.java
+++ b/src/main/java/com/syncleus/dann/graph/MutableTreeAdjacencyGraph.java
@@ -18,7 +18,7 @@
  ******************************************************************************/
 package com.syncleus.dann.graph;
 
-import com.syncleus.dann.graph.context.ContextGraphNode;
+import com.syncleus.dann.graph.event.context.ContextGraphNode;
 import com.syncleus.dann.graph.tree.Trees;
 import java.util.ArrayList;
 import java.util.HashSet;
diff --git a/src/main/java/com/syncleus/dann/graph/context/AbstractContextGraphElement.java b/src/main/java/com/syncleus/dann/graph/event/context/AbstractContextGraphElement.java
similarity index 98%
rename from src/main/java/com/syncleus/dann/graph/context/AbstractContextGraphElement.java
rename to src/main/java/com/syncleus/dann/graph/event/context/AbstractContextGraphElement.java
index 4cb385a629becb03d4c464918beaaa21b4ecad3e..e72f346df40d0838f6aad8ae7c974828a5415c54 100644
--- a/src/main/java/com/syncleus/dann/graph/context/AbstractContextGraphElement.java
+++ b/src/main/java/com/syncleus/dann/graph/event/context/AbstractContextGraphElement.java
@@ -16,7 +16,7 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.dann.graph.context;
+package com.syncleus.dann.graph.event.context;
 
 import java.util.Collections;
 import java.util.HashSet;
diff --git a/src/main/java/com/syncleus/dann/graph/context/AbstractContextNode.java b/src/main/java/com/syncleus/dann/graph/event/context/AbstractContextNode.java
similarity index 98%
rename from src/main/java/com/syncleus/dann/graph/context/AbstractContextNode.java
rename to src/main/java/com/syncleus/dann/graph/event/context/AbstractContextNode.java
index 0728f33e319f65a23cbd9f9fa1cd96dd8e76f0d4..27d61695f1e660e62b884c67e53185fca1c87059 100644
--- a/src/main/java/com/syncleus/dann/graph/context/AbstractContextNode.java
+++ b/src/main/java/com/syncleus/dann/graph/event/context/AbstractContextNode.java
@@ -16,7 +16,7 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.dann.graph.context;
+package com.syncleus.dann.graph.event.context;
 
 import java.util.Collections;
 import java.util.HashSet;
diff --git a/src/main/java/com/syncleus/dann/graph/context/ContextCloudElement.java b/src/main/java/com/syncleus/dann/graph/event/context/ContextCloudElement.java
similarity index 97%
rename from src/main/java/com/syncleus/dann/graph/context/ContextCloudElement.java
rename to src/main/java/com/syncleus/dann/graph/event/context/ContextCloudElement.java
index 6648630c0b02c9c4245811602e60622910b928a2..c5fd04bbca7c1346e88e31dbc858ee33316c086c 100644
--- a/src/main/java/com/syncleus/dann/graph/context/ContextCloudElement.java
+++ b/src/main/java/com/syncleus/dann/graph/event/context/ContextCloudElement.java
@@ -16,7 +16,7 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.dann.graph.context;
+package com.syncleus.dann.graph.event.context;
 
 import java.util.Set;
 import com.syncleus.dann.graph.Cloud;
diff --git a/src/main/java/com/syncleus/dann/graph/context/ContextEdgeElement.java b/src/main/java/com/syncleus/dann/graph/event/context/ContextEdgeElement.java
similarity index 97%
rename from src/main/java/com/syncleus/dann/graph/context/ContextEdgeElement.java
rename to src/main/java/com/syncleus/dann/graph/event/context/ContextEdgeElement.java
index 4ba14295033f8809157c441989b4c48a70c8cda7..5a5d10b1bf5cdab01f4fb47d72bf59284148a0b6 100644
--- a/src/main/java/com/syncleus/dann/graph/context/ContextEdgeElement.java
+++ b/src/main/java/com/syncleus/dann/graph/event/context/ContextEdgeElement.java
@@ -16,7 +16,7 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.dann.graph.context;
+package com.syncleus.dann.graph.event.context;
 
 import java.util.Set;
 import com.syncleus.dann.graph.*;
diff --git a/src/main/java/com/syncleus/dann/graph/context/ContextGraphEdge.java b/src/main/java/com/syncleus/dann/graph/event/context/ContextGraphEdge.java
similarity index 95%
rename from src/main/java/com/syncleus/dann/graph/context/ContextGraphEdge.java
rename to src/main/java/com/syncleus/dann/graph/event/context/ContextGraphEdge.java
index 768dbbef8e2d3a39addbc8208b9f35f1587c20b0..da1e5963993461a9e9c345ae594c0703fa645163 100644
--- a/src/main/java/com/syncleus/dann/graph/context/ContextGraphEdge.java
+++ b/src/main/java/com/syncleus/dann/graph/event/context/ContextGraphEdge.java
@@ -16,10 +16,9 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.dann.graph.context;
+package com.syncleus.dann.graph.event.context;
 
 import java.util.Set;
-import com.syncleus.dann.graph.Cloud;
 import com.syncleus.dann.graph.Graph;
 
 public interface ContextGraphEdge< GEE extends Graph.EdgeEndpoint<?,?> >
diff --git a/src/main/java/com/syncleus/dann/graph/context/ContextGraphElement.java b/src/main/java/com/syncleus/dann/graph/event/context/ContextGraphElement.java
similarity index 97%
rename from src/main/java/com/syncleus/dann/graph/context/ContextGraphElement.java
rename to src/main/java/com/syncleus/dann/graph/event/context/ContextGraphElement.java
index 88a1498bdf002a10a9d70d28dfb8ecdf85ee7143..e69c9e5feed9376e950940947bedae3218444ac0 100644
--- a/src/main/java/com/syncleus/dann/graph/context/ContextGraphElement.java
+++ b/src/main/java/com/syncleus/dann/graph/event/context/ContextGraphElement.java
@@ -16,7 +16,7 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.dann.graph.context;
+package com.syncleus.dann.graph.event.context;
 
 import java.util.Set;
 import com.syncleus.dann.graph.Graph;
diff --git a/src/main/java/com/syncleus/dann/graph/context/ContextGraphNode.java b/src/main/java/com/syncleus/dann/graph/event/context/ContextGraphNode.java
similarity index 97%
rename from src/main/java/com/syncleus/dann/graph/context/ContextGraphNode.java
rename to src/main/java/com/syncleus/dann/graph/event/context/ContextGraphNode.java
index df1bd118ac4cac537d7d5f09293f776f804be884..742772e9c5ff54dc420d38edfabc60c3e14bc1d4 100644
--- a/src/main/java/com/syncleus/dann/graph/context/ContextGraphNode.java
+++ b/src/main/java/com/syncleus/dann/graph/event/context/ContextGraphNode.java
@@ -16,7 +16,7 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.dann.graph.context;
+package com.syncleus.dann.graph.event.context;
 
 import java.util.Set;
 import com.syncleus.dann.graph.Graph;
diff --git a/src/main/java/com/syncleus/dann/graph/context/ContextReporter.java b/src/main/java/com/syncleus/dann/graph/event/context/ContextReporter.java
similarity index 97%
rename from src/main/java/com/syncleus/dann/graph/context/ContextReporter.java
rename to src/main/java/com/syncleus/dann/graph/event/context/ContextReporter.java
index 8399fa7a5ec111f38a92b8c0454663fe93a58b59..ca1816e11d6e936dd725d091c9655d415d03d7dd 100644
--- a/src/main/java/com/syncleus/dann/graph/context/ContextReporter.java
+++ b/src/main/java/com/syncleus/dann/graph/event/context/ContextReporter.java
@@ -16,7 +16,7 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.dann.graph.context;
+package com.syncleus.dann.graph.event.context;
 
 public interface ContextReporter
 {
diff --git a/src/main/java/com/syncleus/dann/graph/context/InvalidContextException.java b/src/main/java/com/syncleus/dann/graph/event/context/InvalidContextException.java
similarity index 97%
rename from src/main/java/com/syncleus/dann/graph/context/InvalidContextException.java
rename to src/main/java/com/syncleus/dann/graph/event/context/InvalidContextException.java
index bbba5c74f3e5c1bb2d2faf1a614cf601de77c14b..a3dbc6dfce73d5143dfe653c56c19ae1a4da5ada 100644
--- a/src/main/java/com/syncleus/dann/graph/context/InvalidContextException.java
+++ b/src/main/java/com/syncleus/dann/graph/event/context/InvalidContextException.java
@@ -16,7 +16,7 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.dann.graph.context;
+package com.syncleus.dann.graph.event.context;
 
 //This class is a runtime class to encapsulate the RejectedContextException. This allows the context to be optional
 //without having actions blocked by context events needing to explicitly handle exceptions (as you do with non-runtime
diff --git a/src/main/java/com/syncleus/dann/graph/context/RejectedContextException.java b/src/main/java/com/syncleus/dann/graph/event/context/RejectedContextException.java
similarity index 97%
rename from src/main/java/com/syncleus/dann/graph/context/RejectedContextException.java
rename to src/main/java/com/syncleus/dann/graph/event/context/RejectedContextException.java
index e43e93bc2e0be7bd741f2454108c0a5efca34d6b..c47ead3eb3eb56a598b6bf2a14002ed2e14a4a8c 100644
--- a/src/main/java/com/syncleus/dann/graph/context/RejectedContextException.java
+++ b/src/main/java/com/syncleus/dann/graph/event/context/RejectedContextException.java
@@ -16,7 +16,7 @@
  *  Philadelphia, PA 19148                                                     *
  *                                                                             *
  ******************************************************************************/
-package com.syncleus.dann.graph.context;
+package com.syncleus.dann.graph.event.context;
 
 public class RejectedContextException extends Exception
 {
diff --git a/src/main/java/com/syncleus/dann/graphicalmodel/MutableGraphicalModelAdjacencyGraph.java b/src/main/java/com/syncleus/dann/graphicalmodel/MutableGraphicalModelAdjacencyGraph.java
index acff9fb33a0997bd8eee17652f8820776d83486c..79b64d2006f27c58194f4315db604894c40304b8 100644
--- a/src/main/java/com/syncleus/dann/graphicalmodel/MutableGraphicalModelAdjacencyGraph.java
+++ b/src/main/java/com/syncleus/dann/graphicalmodel/MutableGraphicalModelAdjacencyGraph.java
@@ -23,7 +23,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import com.syncleus.dann.graph.BidirectedEdge;
-import com.syncleus.dann.graph.context.ContextGraphNode;
+import com.syncleus.dann.graph.event.context.ContextGraphNode;
 import com.syncleus.dann.graph.Graph;
 
 public class MutableGraphicalModelAdjacencyGraph<N extends GraphicalModelNode, E extends BidirectedEdge<N>> extends AbstractGraphicalModelAdjacencyGraph<N, E> implements MutableGraphicalModel<N, E>
diff --git a/src/main/java/com/syncleus/dann/graphicalmodel/SimpleGraphicalModelNode.java b/src/main/java/com/syncleus/dann/graphicalmodel/SimpleGraphicalModelNode.java
index b42f4b0424363159f19b02baca96edee9563a8ba..f37f509982cfad9f86df6e624533ad9ee5380836 100644
--- a/src/main/java/com/syncleus/dann/graphicalmodel/SimpleGraphicalModelNode.java
+++ b/src/main/java/com/syncleus/dann/graphicalmodel/SimpleGraphicalModelNode.java
@@ -20,7 +20,7 @@ package com.syncleus.dann.graphicalmodel;
 
 import java.util.*;
 import com.syncleus.dann.graph.BidirectedEdge;
-import com.syncleus.dann.graph.context.AbstractContextNode;
+import com.syncleus.dann.graph.event.context.AbstractContextNode;
 import com.syncleus.dann.graphicalmodel.xml.GraphicalModelNodeXml;
 import com.syncleus.dann.graphicalmodel.xml.SimpleGraphicalModelNodeElementXml;
 import com.syncleus.dann.graphicalmodel.xml.SimpleGraphicalModelNodeXml;
diff --git a/src/main/java/com/syncleus/dann/graphicalmodel/bayesian/MutableBayesianAdjacencyNetwork.java b/src/main/java/com/syncleus/dann/graphicalmodel/bayesian/MutableBayesianAdjacencyNetwork.java
index 20a731d5d6b45b644bc71165078035ac62e5dd7d..937dd4c652dfc7ebe639e4ed17d20e0093602458 100644
--- a/src/main/java/com/syncleus/dann/graphicalmodel/bayesian/MutableBayesianAdjacencyNetwork.java
+++ b/src/main/java/com/syncleus/dann/graphicalmodel/bayesian/MutableBayesianAdjacencyNetwork.java
@@ -23,7 +23,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import com.syncleus.dann.graph.DirectedEdge;
-import com.syncleus.dann.graph.context.ContextGraphNode;
+import com.syncleus.dann.graph.event.context.ContextGraphNode;
 import com.syncleus.dann.graph.Graph;
 import com.syncleus.dann.graphicalmodel.GraphicalModelNode;
 
diff --git a/src/main/java/com/syncleus/dann/graphicalmodel/dynamic/MutableDynamicGraphicalModelAdjacencyGraph.java b/src/main/java/com/syncleus/dann/graphicalmodel/dynamic/MutableDynamicGraphicalModelAdjacencyGraph.java
index ccc49cf33c42ec03ef5b264e40a8f9061396dcde..ba381a593270df89d8f317e8c8eb0fa63fc9e3af 100644
--- a/src/main/java/com/syncleus/dann/graphicalmodel/dynamic/MutableDynamicGraphicalModelAdjacencyGraph.java
+++ b/src/main/java/com/syncleus/dann/graphicalmodel/dynamic/MutableDynamicGraphicalModelAdjacencyGraph.java
@@ -21,7 +21,7 @@ package com.syncleus.dann.graphicalmodel.dynamic;
 import java.util.*;
 import com.syncleus.dann.graph.BidirectedEdge;
 import com.syncleus.dann.graph.Graph;
-import com.syncleus.dann.graph.context.ContextGraphNode;
+import com.syncleus.dann.graph.event.context.ContextGraphNode;
 
 public class MutableDynamicGraphicalModelAdjacencyGraph<N extends DynamicGraphicalModelNode, E extends BidirectedEdge<N>> extends AbstractDynamicGraphicalModel<N, E> implements MutableDynamicGraphicalModel<N, E>
 {
diff --git a/src/main/java/com/syncleus/dann/graphicalmodel/markovrandomfield/MutableMarkovRandomFieldAdjacencyGraph.java b/src/main/java/com/syncleus/dann/graphicalmodel/markovrandomfield/MutableMarkovRandomFieldAdjacencyGraph.java
index 898a5b407259f896a36dc370581313826f1f1a17..864148abc15734c85160f7c55c3d3a3f4016ae55 100644
--- a/src/main/java/com/syncleus/dann/graphicalmodel/markovrandomfield/MutableMarkovRandomFieldAdjacencyGraph.java
+++ b/src/main/java/com/syncleus/dann/graphicalmodel/markovrandomfield/MutableMarkovRandomFieldAdjacencyGraph.java
@@ -21,7 +21,7 @@ package com.syncleus.dann.graphicalmodel.markovrandomfield;
 import java.util.*;
 import com.syncleus.dann.graph.UndirectedEdge;
 import com.syncleus.dann.graph.Graph;
-import com.syncleus.dann.graph.context.ContextGraphNode;
+import com.syncleus.dann.graph.event.context.ContextGraphNode;
 import com.syncleus.dann.graphicalmodel.GraphicalModelNode;
 
 public class MutableMarkovRandomFieldAdjacencyGraph<N extends GraphicalModelNode, E extends UndirectedEdge<N>> extends AbstractMarkovRandomFieldAdjacencyGraph<N, E> implements MutableMarkovRandomField<N, E>