More refactoring. Add client layer and expose paths it consumes.