Offer improvements

Some changes to allow for easier implementation of custom offer conditions and benefits.