Repositories for important BLOAT objects such as the Editor, ClassHierarchy, and FlowGraphs. In order to avoid build dependencies with other packages we took the novel approach of having a "context" interface in several packages that the classes in this package then implement.

The reason we implement all of the methods in one class is so that if the user wants to have different contexts with different attributes (for instance, caching policies), all one has to do is subclass BloatContext instead of subclassing other contextes which may become ackward.