Fix Issue #304

This is currently a WIP.  Today I managed to get the major pieces of it in place.  I am not yet passing tests, but the server starts.
Should we use `logger` here too?