Move DataSourceRepository implementations to trait