Starting to break things apart into separate files.  Trying to make the code easier to follow, but I'm still not sure if I'm there yet.