Allow events api callbacks to be method names

Resolves #3333, moving from #3396
Why `typeof x == "string"` everywhere but here?