Idle
Confirming customer selection
Product requested/                  Get valid customer selection
Getting payment
Dispensing product
Dispensing change
Product OK/ Get payment
Coins OK/     Dispense product
Coin return requested/ Dispense change
Product dispensed/ Dispense change
Change dispensed
Change dispensed