Work on fleshing out basic classes, add more tests, switch to using ordered dicts for lists of named things