introducing IFeatureProviderFactory
renaming inmemoryprovider to inmemoryproviderfactory