Major flaws discovered

I found that it would be easier to simply design a generator for each
item type then try to make one over all generator, the generator file
will remade to simply determine which generator class to call, then pass
all variables. Implementation of these changes need to be done.