anchor.diff:  
   :marked
     The component defines a `deleteRequest` property that returns an `EventEmitter`.
  -  When the user clicks *delete*, the component invokes the `delete()` method
  -  which tells the `EventEmitter` to emit a `Hero` object.
  +  When the user clicks *delete*, the component invokes the `delete()` method, 
  +  telling the `EventEmitter` to emit a `Hero` object.
   
     Now imagine a hosting parent component that binds to the `HeroDetailComponent`'s `deleteRequest` event.
   
  
positive.code: 
  .l-sub-section
    :marked
      The `myClick` directive is further described below in the section
      on [Aliasing input/output properties](#aliasing-io).
  
  :marked
    If the name fails to match an element event or an output property of a known directive,
    Angular reports an “unknown directive” error.
  
    ### *$event* and event handling statements
    In an event binding, Angular sets up an event handler for the target event.
  
    When the event is raised, the handler executes the template statement.
    The template statement typically involves a receiver that wants to do something
    in response to the event, such as take a value from the HTML control and store it
    in a model.
  
    The binding conveys information about the event, including data values, through
    an **event object named `$event`**.
  
    The shape of the event object is determined by the target event itself.
    If the target event is a native DOM element event, the `$event` is a
    [DOM event object]( https://developer.mozilla.org/en-US/docs/Web/Events),
    with properties such as `target` and `target.value`.
  
    Consider this example:
  +makeExample('template-syntax/ts/app/app.component.html', 'without-NgModel')(format=".")
  :marked
    We’re binding the input box `value` to a `firstName` property, and we’re listening for changes by binding to the input box’s `input` event.
    When the user makes changes, the `input` event is raised, and the binding executes the statement within a context that includes the DOM event object, `$event`.
  
    To update the `firstName` property, we must get the changed text by following
    the path `$event.target.value`.
  
    If the event belongs to a directive (remember: components are directives), `$event` has whatever shape the directive chose to produce.
  
    <a id="eventemitter"></a>
    <a id="custom-event"></a>
    ### Custom Events with EventEmitter
  
    Directives typically raise custom events with an Angular [EventEmitter](../api/core/index/EventEmitter-class.html).
    A directive creates an `EventEmitter` and exposes it as a property.
    The directive calls `EventEmitter.emit(payload)` to fire an event, passing in a message payload that can be anything.
    Parent directives listen for the event by binding to this property and accessing the payload through the `$event` object.
  
    Consider a `HeroDetailComponent` that presents hero information and responds to user actions.
  
negative.code:   the component's `onSave()` method whenever a click occurs:
  +makeExample('template-syntax/ts/app/app.component.html', 'event-binding-1')(format=".")
  :marked
    ### Target event
    A **name between parentheses** &mdash; for example, `(click)` &mdash;
    identifies the target event. In the following example, the target is the button’s click event.
  +makeExample('template-syntax/ts/app/app.component.html', 'event-binding-1')(format=".")
  :marked
    Some people prefer the `on-` prefix alternative, known as the **canonical form**:
  +makeExample('template-syntax/ts/app/app.component.html', 'event-binding-2')(format=".")
  :marked
    Element events may be the more common targets, but Angular looks first to see if the name matches an event property
  