Por que o contexto é diferente nesses dois manipuladores de eventos

Essa é uma pergunta básica, mas não consigo entender por que o contexto (o ponteiro 'this') está correto no segundo manipulador de eventos e está incorreto no primeiro.

Eu tenho essa função de construtor simples para criar o objeto myNotifier:

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

myNotifier = new Notifier(" HELLO!");  

Então eu uso omyNotifier.saySomething() método como um manipulador de eventos para CLIQUE em dois botões:

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

O primeiro mostra: "Eu digo: indefinido" O segundo mostra: "Eu digo: OLÁ"

Eu entendo que o contexto (este) não é o objeto original ao chamar o método, mas por que está correto ao chamar dentro de uma função para o segundo botão?

A jsfiddle para testar

questionAnswers(2)

yourAnswerToTheQuestion