Hey Chris, just curious if you've messed around with idea much yet.
(being able to assign addresses to individual grids/strips)
No, but I plan to look at it soon. It means ripping out and replacing a lot of code, but it'll be worth the effort, I think. Right now the code to convert inputs to an internal integer index, and to convert integer indexes to displayable selection numbers is probbly some of the ugliest code I have, with all sorts of special cases. This is the price of flexibility; I can't make any assumptions because so much of the input method can be tinkered with. If I restricted all input to, say, a 10-key numeric pad it would all be simple.
What I'll need to do in the future is skip converting input to an integer; I'll just worry about converting input into display, and then build a lookup table to determine the proper address.