Improve listener sync/async detection

Some people[1] might not care about the payload and take zero arguments.

*[1] "Functions are people too, my friends!"*