caching: cache only during an "Interaction"