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"
This class is a good example of how handling setup and run states altogether creates problems. Normally, running states have nothing to do with the setup state of the stack (except it has to be in SetUp state, which is obvious). So, normally we shouldn't need stackCoordinator to get and set the setup state here (actually run state), runnerCoordinator should handle these.