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.
callback needs to be called with a new lock instance