rename for consistency.
fix type annotations; add docstring to 'client'.
let client be supplied using ':client' in opts.