I agree, all methods indicate just a datasource. I think such "data source" protocol should be place in the file who contains the class who actually needs the data source and not the one who is intended to be the data source. I mean,  the one with a property like: 
```Objective-C
@property (nonatomic, weak) id<DataSourceType> dataSource;
```