Remove deletes a value by name from the registry. No-op when name is not
present. Each successful removal bumps the internal version so that
observers can detect changes.
Version returns a monotonically increasing counter that changes whenever
the registry content is modified via Add or Remove. It is safe for
concurrent use.