in app. - At this time, it’s easy to maintain state like success, failure, retry - Later, we decided to add another payment gateways, In this time, we have a problem about state management. - Maintaining different flows for each gateway will drain the code management system. - So let’s create a flow that works uniquely for all gateways.