One of the big things with any GUI/HMI is the capability to quickly create new user controls. The method I want to use is to let the user create this using a state-matrix. Layers in rows with layer 0=preview and columns as states. The control is illustrated above.
In this example I plan to rotate the needle on layer 2 to create a simple clock gauge. To do this I set in config that input value goes to layer 2 and on each state I connect that with rotation of the line. The final result will be a gauge that change background and needle color based on state.
I have some experience creating gauges in code and think this will be a big time-saver + I can link cells to code if I need to and do other tricks. I am coding this as we speak so give me a few days and you will see it in action as we start adding user HMI libraries to BSA.