Client interface

Adds basic support for developer-facing CRUD operations, though there is still a lot to be done.