Notice that info includes a state, which might be different than the current state upon return. It is the caller's responsibility to check if the current state has changed.
Returns: The return string is used as a helpful diagnostic that may be printed to determine what logic decisions the state is making (depends on the control_system::Tags::Verbosity flag).