Adapter tweaks

Here's a couple additions (and one whitespace tweak) to the generic adapter code. This way AFAICT all the public API methods are exposed directly in the adapter code, and one can grep for `customApi._` to find what needs to be implemented when writing a new adapter.