Update: I was able to finish this functionality by using an app state instead of layers of execute callback. The answer is use an app state + dataType if you are using nested components. Daisy chaining "Execute Callback" actions won't work (at a certain level of design complexity).
If chaining execute callbacks is required for your design, I found storing the callback value in a local state at each layer of the component and triggering a callback nested in a loop conditional (loop runs on page load) an effective method of triggering the next layer of "Execute Callback" action - but again this falls apart at a certain level of complexity.
--
What's the best way to handle data when you have layers (3 or 4 deep) of components on a single page?
For example, a page ("mainPage") has a list of dynamically generated components called "form". Each "form" contains a list of dynamically generated components called "field", and within each field there is conditional UI for 5 different types of questions (toggle, pick one, etc.).
In this example, is it better to manage the data with an App State, or is layers of "Execute Callback" and parameters the way to go?
Bonus: I've noticed that you can't trigger an "Execute Callback" as an action in the response to another "Execute Callback" action, which makes option 2 a lot more complicated (must use loops and component state to monitor for and trigger the next layer of callback).