Text this: Modeling multi-attribute utility theory with object-oriented programming