[WIP] Implement QueryDataProvider and ArrayDataProvider