¿Por qué el contexto es diferente en estos dos controladores de eventos?

Esta es una pregunta básica, pero no puedo entender por qué el contexto (el puntero 'este') es correcto en el segundo controlador de eventos e incorrecto en el primero.

Tengo esta función constructora simple para crear el objeto myNotifier:

function Notifier ( message ) {
  this.message = message;
  this.saySomething = function () {
    alert( "I say:" + this.message);
  }
}

myNotifier = new Notifier(" HELLO!");  

Entonces uso elmyNotifier.saySomething() El método como controlador de eventos para hacer CLIC en dos botones:

$(".button1").click( myNotifier.saySomething );
$(".button2").click( function () { myNotifier.saySomething()});

El primero muestra: "Yo digo: indefinido" El segundo muestra: "Yo digo: HOLA"

Entiendo que el contexto (este) no es el objeto original al llamar al método, pero ¿por qué es correcto cuando se llama dentro de una función para el segundo botón?

A jsfiddle para probar

Respuestas a la pregunta(2)

Su respuesta a la pregunta