 
 		src.handlers = []
 
+		executor? src.emit, src.error
+
 		src
 
 	###*

		else
			return throw new TypeError 'wrong argument type: ' + fn

		utils.end ?= {}

		run = (preFn) ->
			preFn.then (val) ->
				fn = iter val

		src.emit = (val) ->
			for handler in src.handlers
				Promise.resolve(val).then(
					handler.onEmit
					handler.onError
				).then(
					handler.nEmit
					handler.nError
