Well done, Borgut!
What do you think of the liberal use of States?
It's a coding method I use a lot not only in modding this game but also in my profession.
I used that method in Oblivion with a variable (functionMode) and now I use it in Skyrim with either Papyrus' State code-blocks or with variables.
How I use this method: I break-up my mod's intended effects over several "steps".
For example, if I need to add a detrimental Ability to the player (e.g. Arm injury), I detect the health-loss in one State then apply the Ability in the next State.
Breaking up your mod actions in to smaller chunks not only ensures that the CPU time-slices in your Script are short but also that you can have your mod run at very short intervals (e.g. RegisterForSingleUpdate (0.5))
I could be wrong, but I think if you're using RegisterForSingleUpdate, there isn't much advantage to dividing up your actions like that. Lets say you have a really heavy function that takes a while to run (I put together one that builds up some form lists that took about 5 seconds before I optimized it.) If you call RegisterForUpdate(0.5) its going to stack up like crazy, but if you use RegisterForSingleUpdate(0.5), you won't register for the next update until its done, so no stacking. It'll just run in the background alongside all of the other scripts that are executing. If you chopped it up into three or four pieces in different states, you're still going to have the same code running in the background, it'll just take a bit longer due to the extra 0.5 second pauses between states.
If scripts still executed sequentially, it'd be another story, but they execute simultaneously, so no longer how long it takes to execute your script, it's not going to hold anything else up.
*Edit - I guess one advantage though is that, while you're waiting between states, the data in that script becomes accessible to other threads. There are other ways around that though, like having most of your code in a function that's part of another script, and calling that function rather than having the all of the code in the same script.