Por que você tem que passar o objeto de evento como um parâmetro?

Eu estou aprendendo como manipular eventos em JavaScript e eu estou querendo saber "por que você tem que passar o objeto de evento como um parâmetro (argumento) em uma função ao usar a manipulação de eventos?"

Aqui está um exemplo do que estou falando:

<script type="text/javascript">
    document.getElementById('button_1').onclick = (function (event) {
        alert("The event is: " + "on" + event.type);
    });
</script>

Eu escrevi o código acima e entendo muito bem o que ele faz. Eu simplesmente não entendo o evento inteiro (evento). Pensei nisso como uma maneira de atribuir uma função anônima ao manipulador de eventos button_1.onclick. O manipulador de eventos tenta passar em um evento antes de ser designado ou? ... Estou tendo dificuldades para entender isso. Se alguém pudesse esclarecer isso para mim, eu ficaria grato.

[Tentei pesquisá-lo no Google, mas encontrei explicações e exemplos muito complexos. Apenas uma explicação simples para intermediário ajudaria.]&nbsp;=)

Muito obrigado.