Most of the logic for MoneyWidget is now here, in the model layer