rWatcher - wrap a Runnable & only run it if a value has changed