Philosophy for maintainability
------------------------------

* Try to keep functions below a cyclomatic complexity of '10'.  Run
  '/home/clarsen/bin/mccabe *.cc' every so often to identify
  candidates for simplification.

* Follow Lakos's "Large Scale C++ software design" major and minor design
  rules to reduce coupling to other modules and minimize exposed internals.

  * enumerated types are in class scope rather than at file scope.
    This is probably the most different from the traffic server source
    convention, however it is a good approach because it doesn't
    re-use and override event callback values for an implementation
    that is similar but not the same.

