 			
 			// call new handler(s) if promise has already been resolved
 			if (result !== undefined || error !== undefined)
-			{
-				// callLater will not call the function if the context was disposed
 				WeaveAPI.StageUtils.callLater(relevantContext, callHandlers, [true]);
-			}
 			
 			return next;
 		}

			if (handlers.length == 0 && error !== undefined)
				reportError(error);
			
			for (var i:int = 0; i < handlers.length; i++)
			{
				var handler:Handler = handlers[i];
				if (newHandlersOnly && handler.wasCalled)
					continue;
				if (result !== undefined)
					handler.onResult(result);
				else if (error !== undefined)
					handler.onError(error);
			}
		}
		
		public function then(onFulfilled:Function = null, onRejected:Function = null):WeavePromise

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