Refactoring on OptionInfo, OptionMap. Added SwitchExtensions.