Fix cache to use the "List then Watch" pattern.

Closes #1310
Filed #1362 for the general problem.