I figured this deserves it's own thread.
So, I have picked up issue number 71 from the project backlog.
I have spent the day working up a procedure that I hope won't break the existing engine.
And there is a risk.
My plan would result in changes in several classes:
ScreenManager would see the biggest changes of all, as it requires a total rewrite to support this.
I took great care to make sure I had plans for any compatibility issue with any old code.
Now, there is a very good chance I missed something preparing this, so I'm putting my notes up here for you to read (if you really are insane enough to go though my 138 lines of rambling and psudocode).
I will start implementing it soon. For now, my brain needs a rest.
But hey, here is a bonus. This change, if it works, accidentally also lays the groundwork for a graphical overlay panel. Well, maybe not all that accidentally.