+act #15542 Change various methods of FSM to accept Duration rather than...

... FiniteDuration, to allow infinite timeouts
`State` is also public api