Move thread instantiation to Execution
This feature then also requires to remove naming of threads via declareActive(..)
and to provide a mechanism to name stages instead. Because, the name of a thread is not fix anymore. If a stage is set passive then its owning thread is assigned a different stage.