Initial review

The most recent commit message is so accurate.

We should file a follow-up bug to see if we can do this parsing more incrementally, rather than using split() to create all these intermediate lists and strings.  No big deal but worth taking a shot at sometime in the future.