clean up inheritance hierarchy by consolidating to a single Base that supplies default implementations for Writers
include guards.  how did I miss these?