code: def stop(self):
          
          self.keep_listening = False
          # if threaded, kill threads before going down
          if hasattr(self, 'join'):
              self.join()
          self.log("Went down.")
          return True
docs: all links also need stop() to stop their runloops