Watch improvements.

Net result is that /pods now supports watch.

It might be easiest to review this commit-by-commit.

It should be easier to write tests for our watches after this.
shouldn't there be a space after <- ?