| 123456789101112131415161718192021222324252627282930313233343536373839 | 
							- var gaze = require('gaze');
 
- var EventEmitter = require('events').EventEmitter;
 
- module.exports = function(glob, opts, cb) {
 
-   var out = new EventEmitter();
 
-   if (typeof opts === 'function') {
 
-     cb = opts;
 
-     opts = {};
 
-   }
 
-   var watcher = gaze(glob, opts, function(err, rwatcher){
 
-     if (err) out.emit('error', err);
 
-     rwatcher.on('all', function(evt, path, old){
 
-       var outEvt = {type: evt, path: path};
 
-       if(old) outEvt.old = old;
 
-       out.emit('change', outEvt);
 
-       if(cb) cb(outEvt);
 
-     });
 
-   });
 
-   watcher.on('end', out.emit.bind(out, 'end'));
 
-   watcher.on('error', out.emit.bind(out, 'error'));
 
-   watcher.on('ready', out.emit.bind(out, 'ready'));
 
-   watcher.on('nomatch', out.emit.bind(out, 'nomatch'));
 
-   out.end = function(){
 
-     return watcher.close();
 
-   };
 
-   out.add = function(){
 
-     return watcher.add.apply(watcher, arguments);
 
-   };
 
-   out.remove = function(){
 
-     return watcher.remove();
 
-   };
 
-   out._watcher = watcher;
 
-   return out;
 
- };
 
 
  |