Restructure

I refactored this module, which should close issues #2, and #3 is largely irrelevant now. #1 is still open, but the data is in a much more parsable form now. Additionally, all the code for generating name attributes is in the `reflowFormNames` method, so breaking this out to be more customizable should be straightforward.