cache callbacks based on responses