I refactored the graph class that is part of this game framework.

First I realized that the EntityNode and EntityEdge classes could no longer exist in this library and will need to be moved over to the project that makes use of this graph class. I moved these classes to the respective project that uses the graph component of this library.

Second, since the use of the EntityNode and EntityEdge class was "sprinkled" throughout the graph portion, I had to replace these class references with the respective interfaces INode and IEdge.

After using the interface references, there were a few places where edges and nodes were instantiated. Since interfaces cannot be instantiated, I realized I need to use some type of factory pattern. I added the interfaces IEdgeFactory and INodeFactory and passed objects that inplement these interfaces into the graph classes and utility classes.