Saying that developers "don't use" state machines just because code isn't littered with things like instantiations of machine and state classes is an interesting point, but kind of glib. I use state machines all the time as an abstraction to reason about programs.