Full threaddesigned·I would use a state machine in this case. The best tool for doing this in JavaScript/TypeScript is XState. Highly recommend.View on HN