OO Inheritance-Not Always Evil-Refactoring to OCP with Inheritance

Refactoring an unmaintainable mess of nested conditionals to the
Open/Closed principle - using OO inheritance - an example - Inheritance
is not always evil!