So I see some bias against the state system, and that it’s pointless, that is not the case, here’s why.
-A wiki article posted on Blendernation has shown that the Yo-Frankie developers used states in a big way, if you read the article you’ll see how many states they used which is more then what most game developers here may use for themselves.
-States make toggling on and off when pressing a key real easy, I used this in a mini-golf to make the aiming widget togglable. In fact whole logic systems can be toggled on and off theoretically, which can be easier and cleaner then the old method using properties.
-THIS IS A BIG ONE: Being able to manually set something like a tic. rate for logic for individual objects, or even just a few bricks. You do this by setting a property and when it gets to a certain value switches to another state. The first state is just the property counting up and simple checking to see if it’s at the required value. The second state is where all the logic takes place, puts the property back at 0 and immediately switches to the first state. Using this you can cause decent to sizable speedups by having the computationally expensive logic only be executed once every N number of frames. Say you have a logic system that’s expensive on CPU, if you don’t need it every frame, you can use states to only have it executed once every 10 frames for example. The rest of the time will see it de-activated, so you don’t waste framerate doing it every frame.
So states have uses. Find uses for them, you may be surprised.