Make optimizer parameters protected so subclasses can use directly