TerminalStateListener
abstract class TerminalStateListener<in F : Failure>(session: Session<F>) : Session.StateListener<F>
A StateListener which implements onStateChanged method. This listener will call session's methods on state changes appropriately.
Adding this listener to a session launches it if it's not already.
Consider using TerminalStateListener.bind instead of subclassing TerminalStateListener.
It's recommended to use this class with Session.addStateListener for listening to terminal state updates instead of bare StateListener, because this class handles session's lifecycle appropriately.