'Start our callback in its own background thread.'

def start(self):

    if (self.frequency > 0):
        threadname = (self.name or self.__class__.__name__)
        if (self.thread is None):
            self.thread = BackgroundTask(self.frequency, self.callback, bus=self.bus)
            self.thread.setName(threadname)
            self.thread.start()
            self.bus.log(('Started    monitor    thread    %r.' % threadname))
        else:
            self.bus.log(('Monitor    thread    %r    already    started.' % threadname))
