anchor.diff:    Instead, we grab the input box *value* and pass *that* to `addHero`.
     The component knows nothing about HTML or the DOM, which is the way we like it.
   
  -  ### Keep template expressions simple
  +  ### Keep template statements simple
     We bound `(blur)` to *two* JavaScript statements.
   
     We like the first one, which calls `addHero`.
  
positive.code:   ## Key event filtering (with `key.enter`)
    Perhaps we don't care about every keystroke.
    Maybe we're only interested in the input box value when the user presses Enter, and we'd like to ignore all other keys.
    When we bind to the `(keyup)` event, our event handling expression hears *every keystroke*.
    We could filter the keys first, examining every `$event.keyCode`, and update the `values` property only if the key is Enter.
  
    Angular can filter the key events for us. Angular has a special syntax for keyboard events.
    We can listen for just the Enter key by binding to Angular's `keyup.enter` pseudo-event.
  
    Only then do we update the component's `values` property. (In this example,
    the update happens inside the event expression. A better practice
    would be to put the update code in the component.)
  +makeExample('user-input/ts/app/keyup.components.ts', 'key-up-component-3' ,'app/keyup.components.ts (v3)')(format=".")
  :marked
  
negative.code:     Angular only updates the bindings (and therefore the screen)
      if we do something in response to asynchronous events such as keystrokes.
  
      That's why we bind the `keyup` event to an statement that does ... well, nothing.
      We're binding to the number 0, the shortest statement we can think of.
      That is all it takes to keep Angular happy. We said it would be clever!
  :marked
    That local template variable is intriguing. It's clearly easier to get to the textbox with that
  