Programmer responsibilities
- For each node and edge type, define a class that implements the Node
or Edge interface type
- Supply all required methods, such as drawing and containment
testing.
- Define a subclass of the Graph class and supply getNodePrototypes,
getEdgePrototypes
- Supply a class with a main method