Heavy refactoring throughout.

Moving data access to server.  Using a request-response pattern for performing CRUD over messaging.