Por que disparar um evento definido com dispatchEvent não obedece ao comportamento borbulhante dos eventos?

Estou confuso com o script abaixo:

var event = new Event('shazam');

document.body.addEventListener('shazam',function(){
    alert('body');
});

document.addEventListener('shazam',function(){
    alert('document');
});

window.addEventListener('shazam',function(){
    alert('window');
});

document.body.dispatchEvent(event);

Quando executo esse script no meu navegador, apenas obtenho oalerta ('corpo'); evento. mas se eu definir o parâmetro de captura de addEventListener (o terceiro parâmetro opcional) como true, todos os alertas capturados na ordem em que devem.

Porque oevento shazam não borbulha?

questionAnswers(1)

yourAnswerToTheQuestion