(self, observer, method, message='all', sender=None)
TODO: Docstring for remove_observer
        
        @param observer TODO
        @param message TODO
        @param sender TODO
TODO: Docstring for remove_observer
TODO : Docstring for remove_observer
def remove_observer(self, observer, method, message='all', sender=None):
        """
        TODO: Docstring for remove_observer
        
        @param observer TODO
        @param message TODO
        @param sender TODO
        """
        self.lock.acquire()
        _observer = (observer, method, sender)
        self.observers[message].discard(_observer)
        if (len(self.observers[message]) == 0):
            del self.observers[message]
        self.lock.release()
def remove_observer ( self , observer , method , message = 'all' , sender = None ) : self . lock . acquire ( ) _observer = ( observer , method , sender ) self . observers [ message ] . discard ( _observer ) if ( len ( self . observers [ message ] ) == 0 ) : del self . observers [ message ] self . lock . release ( )