Added the ability for #listen to accept a callback for handling messages