Actually I think the way to go here is to persist on database which promotions were applied to a specific order. Doing that I think we get a faster way to check whether the promo was already applied plus we make it possible to track promotions that do something other than creating an adjustment. wdyt?