First refactoring on OptionProperty (ex OptionInfo) and OptionMap.