DataProvider and DataConsumer factory selected based on 'Type'