Add listener record caching