 
 		new Promise (resolve, reject) ->
 			addHandler self, onFulfilled, onRejected, resolve, reject
+		, true
 
 # ********************** Private **********************
 

	 * The first argument fulfills the promise, the second argument rejects it.
	 * We can call these functions, once our operation is completed.
	###
	constructor: (executor) ->
		@_value = null
		@_handlers = []

		run @, executor

	###*
	 * Appends fulfillment and rejection handlers to the promise,

		(fn) ->
			process.nextTick fn

	run = (self, executor, _isRunImmediately) ->
		if _isRunImmediately
			# For the Promise created by "then", we don't have to run the
			# executor after the next tick.
			executor genTrigger(self, $resolved),
				genTrigger(self, $rejected)
		else
			nextTick ->
				executor genTrigger(self, $resolved),
					genTrigger(self, $rejected)
		return

	# Push new handler to current promise.
