Add client watch capability

(Only the last commit is new to this PR. Other is pending in #529.)
Fixed.