XD-1131: Easy support for inputType/outputType as option metadata

Make base classes abstract

Addressed review comments