fix(WatchGroup): Handle watching on elements of an array correctly.

Closes #1046
You could make all of these raw string, (i.e. r'foo' instead of 'foo') and then you don't need to escape the "$" for "$index" in the string.