How To Build a Finite State Machine (FSM) with Swift (Pt. 2)

In the previous post, the FSM we designed was based on actually two distinct protocols. One for the states and the other one for the delegate. »