public object reset(object newv) { object oldv = _state.Get(); Validate(newv); _state.Set(newv); NotifyWatches(oldv, newv); return newv; }