Reduced visibility of some classes and made getInterpreter method overridable for extension.