What is a `DataProvider`?