. Removing the "implements Constants" as it is a bad pattern. Interfaces should represent types. It also makes the UML diagrams very hard to follow. We're just going to use the fully qualified GraphConstants.{x} idiom. . Added the Graphable interface to allow any arbitrary object to be manipulated like a vertex in a graph. . Added a util package that has a dependency resolver that uses a depth first search to sort the dependencies for a set of objects that implement the Graphable interface. The resolver also works with Strings and lists and deps stated as lists of strings so I can resuse the test I wrote for the DependencyEngine in jjar.