I also suggest renaming `dataWatches` to `valueWatches` ("data" is such a generic term).