I think there's an opportunity for an optimization here: if the cache store is shared, you could process the stored entries only on the originator.