Make order_using more flexible (and error-prone).
Add generic settings model.