Renamed provider to a data source and created a context interface
that can be conformed to by transactions and DBs.