The challenge here is to design how to keep state between Session steps. State management in web/mobile apps has become a hot topic, especially since Facebook introduced the flux pattern back in 2014. It's always a matter of taste and depends greatly on what programming language and framework you're using.
In the example below, the client app has a central Redux state where we keep parameters related to the GUI (eg:
isLoading) and pervasive data such as what we need for session/steps.
A 1st-level branch stores a list of skills queried using the Catalog API. The other 1st-level branches are actual objects that store session/step data:
webdepo is a bank deposit product and
aispSession holds data for any skill based on PSD2 AISP.