foreach (var device in devices) device.RunDeviceBefore();  . . . . . .  in StateMachine.Worker()
State.Create(...).AddOperation(...).AddOperation(...).EnterState() . .  in the sequence in Execute(...)

foreach (var device in devices) device.RunDeviceAfter(); . . . . . . .  in WaitRunDevsRunOps()
WaitNextTick()  (may throw QuitStateMachineException)  . . . . . . . .  in WaitRunDevsRunOps()
foreach (var device in devices) device.RunDeviceBefore();  . . . . . .  in WaitRunDevsRunOps()
IList<Event> events = State.RunOperations(); . . . . . . . . . . . . .  in WaitRunDevsRunOps()

foreach (var device in devices) device.RunDeviceAfter(); . . . . . . .  in WaitRunDevsRunOps()
WaitNextTick()  (may throw QuitStateMachineException)  . . . . . . . .  in WaitRunDevsRunOps()
foreach (var device in devices) device.RunDeviceBefore();  . . . . . .  in WaitRunDevsRunOps()
IList<Event> events = State.RunOperations(); . . . . . . . . . . . . .  in WaitRunDevsRunOps()

State.Create(...).AddOperation(...).AddOperation(...).EnterState() . .  in the sequence in Execute(...)

foreach (var device in devices) device.RunDeviceAfter(); . . . . . . .  in WaitRunDevsRunOps()
WaitNextTick()  (may throw QuitStateMachineException)  . . . . . . . .  in WaitRunDevsRunOps()
foreach (var device in devices) device.RunDeviceBefore();  . . . . . .  in WaitRunDevsRunOps()
IList<Event> events = State.RunOperations(); . . . . . . . . . . . . .  in WaitRunDevsRunOps()

foreach (var device in devices) device.RunDeviceAfter(); . . . . . . .  in WaitRunDevsRunOps()
WaitNextTick()  (assume QuitStateMachineException thrown)  . . . . . .  in WaitRunDevsRunOps()
foreach (var device in devices) device.RunDeviceBefore();  . . . . . .  in StateMachine.Worker() catch()
State.RunOperations(); . . . . . . . . . . . . . . . . . . . . . . . .  in StateMachine.Worker() catch()
State.Empty.EnterState();  . . . . . . . . . . . . . . . . . . . . . .  in StateMachine.Worker() catch()
foreach (var device in devices) device.RunDeviceAfter(); . . . . . . .  in StateMachine.Worker() catch()
foreach (var device in devices) device.StopDevice(); . . . . . . . . .  in StateMachine.Worker() catch()
