Might be nice to be able to disable listening?

    while @listening do
      ...
    end