please make it private, not protected.

We make everything private by default, as it gives us full power to refactor it without BC break later (for instance, your removal of the ``autocomplete`` method would have been a BC break for child classes if it was protected instead of private)