give Retrievers just a callback function, not a client/tid/db