Why don't we want this to behave like the PHP version? I.e. if you pass in `null` and there are no handlers, you should get back `null`. In the case of JavaScript I understand that we'd want to change `undefined` to `null` for the initial return value, but we shouldn't turn it into `true`. That's incredibly surprising behavior if you're used to the PHP API.