The repository feature holds information about specific features. The may not be available by all repository implementations.
Features should be simple objects for storing additional data, the should not implement too much functionality.
Additional functionality the uses the information in the feature objects should be implemented in the specific repository
provider and repository implementations, or in the repository registry if it is generic.
But features may throw events, if it's data is changed.
This interface is to get access to a concrete feature by accessing the generic interface.