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.
client.once('closed'...