*Multiple* different implementations of the GenericObject pattern