preferred composition over inheritence. A new interface for test for first/follow sets added.