Introduce GenericSchema class