Order flow
Order placement is driven by the Cart module's checkout: it validates the
Order state machine
Every order carries two independent status axes, each a guarded state
Payment flow
Checkout and payment are two steps: checkout creates an UNPAID order