Added caching for LayerProvider