Add a rough Client implementationi and partial tests.