Sort backend fetches (more) into protocol-agnostic bits, and protocol-
implementation bits.  Still not there, but getting closer...