 	}
 	
 	/**
-	 * Used as a flag to indicate whether or not this handler has been called 
+	 * Used as a flag to indicate that this handler has not been called yet
 	 */
-	public var wasCalled:Boolean = false;
+	public var isNew:Boolean = true;
 }

	
	public function onResult(result:Object):void
	{
		wasCalled = true;
		try
		{
			next.setResult(onFulfilled(result));

	
	public function onError(error:Object):void
	{
		isNew = true;
		try
		{
			next.setResult(onRejected(error));
		}
		catch (e:Error)
		{
