Send watch notification when a task doesn't exist

This involved fixing request/response pairing in general because
SendSyntheticValueChanged can result in multiple kinds of response,
which we didn't have a way to handle in the existing code.