 
 module.exports = class Watcher extends events.EventEmitter
 
+	# Constructor
+	# @param {RegExp} ignore
 	constructor: (@ignore = /^\./) ->
 		@watchers = {}
 
+	# Watch a 'source' file or directory for changes
+	# @param {String} source
 	watch: (source) ->
 		unless @ignore.test(path.basename(source))
 			stats = fs.statSync(source)

					@unwatch(source)
					@emit('delete', source)

	unwatch: (source) ->
		if @watchers[source]?
			try

			catch err
			delete @watchers[source]

	# Stop watching all sources for changes
	clean: ->
		@unwatch(source) for source of @watchers
