As for the TextInput solution, the easiest way is to create a global variable for it and save the text when you leave the current layout. Then, you just need to call the variable when you get to the next layout.
For example, make a global variable called InputText. Then, use whatever event that ends the layout to set InputText to whatever the textbox had in it. Like this...
-> System: Set InputText to TextInput.Text
Now, when you go to the next layout, you call for the InputText variable with a text object or whatever you got planned.