Rename delegate's method param to listener to tell people it's ok to attach an unbound function as handler