Refactoring -- breaking classes out into separate files.