An abstract datasource for use in conjunction with specific api datasources