added a SimpleGraphView and GraphController classes to clarify the design