docs: function updateDrives() {
          delete self.scanTimer;
  
          var oldDrives = self.drives;
  
          return getDrivesNow().then(function(drives) {
              // if new drive events during scan, redo scan
              if (newEvents) return updateDrives();
              recordDrives(drives);
  
              if (self.eventHandler) {
                  // find drives ejected
                  _.difference(oldDrives, drives).forEach(function(name) {
                      self.eventHandler('eject', name);
                  });
  
                  // find drives mounted
                  _.difference(drives, oldDrives).forEach(function(name) {
                      self.eventHandler('mount', name);
                  });
              }
  
              // schedule to run again
              self.scanTimer = setTimeout(updateDrives, self.options.scanInterval);
          });
      }