making some private implementations protected.

Taking some of the underlying private method calls and making them
protected so I can override some public methods.