Added #promise() method.