Reorganize and rename some of the classes

Quick code review of what I wrote yesterday.

See #56.