Make the render cache to work with all the Data Provider

There are several `TODO` in the code base regarding this.