It was hard work but I did make something workable that I've been using live for a few months. I'm quit pleased by it.
It was supposed to be customisable and sort of is but I've sort of forgotten what I need to do to make a 'clean' version.
I've got a few weeks off after Friday so I guess I'll be on the laptop for most of them.
Hints...
If you have programming experience you may feel like putting a lot of code in the root so that you only have one copy and using messaging to execute it. Snag with that is the sending module will hang until the processing initiated by the message has completed.
Find the Lua manual online here as well as the TouchOSC manual here. Refer to both often. There are scripting examples online - Google them yourself.
Use label & text objects that have the visible property set to false to store values you want to share among modules.
Get the hang of the hierarchy. Modules live in a tree structure where you can refer to them relatively (self.parent.children.object-name) or directly (root.children.object1-name.children.object2-name). You can also use array notation (root.children[pointer]) and loops to simplify code.
(I'm not doing this with code examples in front of me, I hope I've got the notation right)
Try out arrays. You can have arrays of anything including arrays.
Check out the functions especially the callbacks and these.
Finally, happy to indulge in a DM conversation as long as you accept that I cannot always get back quickly.