Cleanup docblocks
Begin phasing out singleton

- Move singleton methods to bottom of class
- Allow instantiating Generator directly
Prefer static to self/concrete
Properly initialize dom, types. Fix docblocks.