The budget_expr module provides a domain-specific language for payment plans. Users create BudgetExpr objects that
are given to an interpreter. The interpreter listens for Witness transactions,
which it uses to reduce the payment plan. When the budget is reduced to a
Payment, the payment is executed.