code: def _interfaces_removed(self, object_path, interfaces):
          
          old_state = copy(self._objects[object_path])
          for interface in interfaces:
              del self._objects[object_path][interface]
          new_state = self._objects[object_path]
  
          if Interface['Drive'] in interfaces:
              self._detect_toggle(
                  'has_media',
                  self.get(object_path, old_state),
                  self.get(object_path, new_state),
                  None, 'media_removed')
  
          if Interface['Block'] in interfaces:
              slave = self.get(object_path, old_state).luks_cleartext_slave
              if slave:
                  if not self._has_job(slave.object_path, 'device_locked'):
                      self.trigger('device_locked', slave)
  
          if self._objects[object_path]:
              self.trigger('device_changed',
                           self.get(object_path, old_state),
                           self.get(object_path, new_state))
          else:
              del self._objects[object_path]
              if object_kind(object_path) in ('device', 'drive'):
                  self.trigger(
                      'device_removed',
                      self.get(object_path, old_state))
docs: Internal method.