Refactored.
More refactoring.
Added spec for short option test.