primary entry point for caching a view