Ideas for a Datasource framework