(refactor) Refactored everything into extensible traits and modules.
(refactor) Refactored describe to use the Generate/Parse infrastructure.