The third failing test.

* This begins the 'handle updates' test.  We will need to handle
  additions, removals, and updates.
* Technically, we could recalculate the collection each time.
  This would have poor performance in the browser.  By implementing
  an event-based approach we write the same tests with a more
  efficient implementation, e.g. the same tests will pass with both
  a naive (inefficient) implementation and a smart implementation.
Copy/paste solution to make the failing test pass.

* Of course this is not ideal, but allows us to refactor
  with all tests green and ensures that our upcoming
  solution satisfies our requirements so far.