made configuration more generic, now requires casting config variables
but config can store any option.  Options are specified by a String key,
and are stored as an object.