Move some logic into the model hooks, etc.

Breaks paymentMethod adding atm. Updated dependencies.