Now sorting/cleaning class definitions while storing in Generator

This changes allows to
1. Move storage of class definitions and generation to separate classes
2. Have multiple generators