Add timeout to Gabbler life cycle
Replace become-based state machine with FSM-based one