Change setup stack states with signals

This pull request adds the following functionality:

- Change setup stack states with signals so that it can be controlled whether changing from one state to another is permitted or not for the setup stack.

My ICLA is listed under "Furkan Bıçak"
Handling running states and signals along with setup states and signals in one place again is a bad idea IMO. Run states are easily distinguishable from Setup states, so they need separate handling and representations. This way it's heavily complicated and coupled, difficult to understand and modify, and it will create problems in the long run.