============================
STATE_0: No money has been put in.
============================
EVENT_Q: A quarter is put in.
OUTPUT: None
GOTO: STATE_25
EVENT_C: The cancel button is pressed.
OUTPUT: None
GOTO: STATE_0
EVENT_D: The dispense button is pressed
OUTPUT: None
GOTO: STATE_0
============================
STATE_25: One quarter has been put in.
============================
EVENT_Q: A quarter is put in.
OUTPUT: LED ON
GOTO: STATE_50
EVENT_C: The cancel button is pressed.
OUTPUT:LED OFF/Return Money
GOTO: STATE_0
EVENT_D: The dispense button is pressed
OUTPUT: Release soda/LED OFF
GOTO: STATE_0
============================
STATE_50: Two quarters have been put in.
============================
EVENT_Q: A quarter is put in.
OUTPUT: Return quarter
GOTO: STATE_50
EVENT_C: The cancel button is pressed.
OUTPUT: LED OFF/Return money
GOTO: STATE_0
EVENT_D: The dispense button is pressed
OUTPUT: Release soda/LED OFF
GOTO: STATE_0
STATE_0: No money has been put in.
============================
EVENT_Q: A quarter is put in.
OUTPUT: None
GOTO: STATE_25
EVENT_C: The cancel button is pressed.
OUTPUT: None
GOTO: STATE_0
EVENT_D: The dispense button is pressed
OUTPUT: None
GOTO: STATE_0
============================
STATE_25: One quarter has been put in.
============================
EVENT_Q: A quarter is put in.
OUTPUT: LED ON
GOTO: STATE_50
EVENT_C: The cancel button is pressed.
OUTPUT:LED OFF/Return Money
GOTO: STATE_0
EVENT_D: The dispense button is pressed
OUTPUT: Release soda/LED OFF
GOTO: STATE_0
============================
STATE_50: Two quarters have been put in.
============================
EVENT_Q: A quarter is put in.
OUTPUT: Return quarter
GOTO: STATE_50
EVENT_C: The cancel button is pressed.
OUTPUT: LED OFF/Return money
GOTO: STATE_0
EVENT_D: The dispense button is pressed
OUTPUT: Release soda/LED OFF
GOTO: STATE_0