All methods that add listeners now return a handle that allows the stopping and restarting of listening