Code gardening

No functional differences, except a few added constructor options.  Mostly just making things neat and pretty.