First pass
Rewrite the S4 class definition code, first pass