Moved generator classes to separate package