This version is largely in response to an initial run through the Pylint
linting program. No functionality or API changes occurred, but the
structure of the program changed. I think that the while organization
improved, so did the verbosity; arguably for the best, on balance.