Refactored Option classes.