Use appropriate metaclasses in feature validations - fixes #343