Track an optional global watermark
Move watermark to be a global hook; change name to cache_version_hook