Support listeners with multiple methods.

Closes #86. Closes #92. Closes #98.