Split feature retrieval and validation

Separate methods to retrieve features from a provider, and to validate
that set of features is an array.