Tracking the value of a single coin inserted
Refactoring, pulling out duplication in test
Tracking a mix of coin denominations inserted
Returning coins on request
Refactoring coin returner as member of vending machine
Basic items vending
Not vending item when not enough money