Re-design allowing for multiple configuration strategies.  Also added some tests.  Not confirmed if this design will break when the config objects are serialized.  Don't think so, but need to see.