Major refactor in progress.  Simplifying things and AbstractClass becomes TypeMirror.