Yep, admit it's kinda academic description. But couldnt find a better way to convey idea in the same concise and accurate way. My suggestion is (1) read the state machine and understand it (it's actually a way of telling how status shifts) (2) read the code (especially the comment parts) and understand each code block represent a certain link of status machine figure.
If feeling good about the above steps, I believe you can make it. Good Luck.
(Again still on Ubuntu machine now without ZH pinyin input