Change visibility of scanner internals

so that descendant classes can access them.

Replaces #8607.  Allows apps that replace a scanner via wrapper to access the scanner's internals.