Finite State Machine
AKA Avoiding Spaghetti code
Establishing a call