We either want this state machine/_initialize function at the top of the file, just under the constructor, or it needs documentation - reading through the earlier functions, I was starting to get confused that this was a state machine, but hadn't seen a definition for it.