partially there.  I think I like the idea of passing around a config object, just have to build the infrastructure.