CLC-1387 Cache notifications again, the right way this time

JIRA: https://jira.media.berkeley.edu/jira/browse/CLC-1387

Flaw in the previous cache code was to cache the block that looped and pushed onto result, but not cache the result itself. 

For the flawed code see #777