We do need to cache the resolver after all; invalidate it correctly