Just use _generate_runner to generate the different runner types

Instead of having to redeclare __init__ in the hierarchical state
machine just add-on a new _generate_runner that can be used to
fetch/generate the machines runner and only then override that
instead in the hierarchical machine.