Fixed #5 issue: initial call to listen() on client now triggers handler just once