Actually, I came back in to say that I did not get it to work and there could be a problem in the Roku which is driving me crazy.
I now have a factory object that takes care of anything and everything nicely. It opens and closes smoothly on any screen. But, consider the following scenario...
Screen a is a selection of videos (which may be deep in a tree). You can navigate up and down the tree fine. Then, pop another onto your tree (play the video) and create a roVideoScreen. Interrupt it. Go back... That will work fine and you'll get back to screen a if you pop and show.
However, let's now assume the user does not interrupt and go back but instead plays another video and interrupts it and then decides to get out of screen a altogether (to see another category perhaps). If I play twice and interrupt twice, I can continue selecting and playing on screen a. But, if I decide to leave screen a, the screen prior to it will not open and I'll get a blank screen. This is despite the fact that the same controller is using the same methods to close screen a that it does every other time a user closes (without getting all the way to playing a video for instance). To demonstrate this in a chain form...
Home Screen ----> roPosterScreen one ---> roPosterScreen two ---> roPosterScreen three
I can go up down and sideways on all those screens with no problem. Now...
Home Screen ----> roPosterScreen one ---> roPosterScreen two ---> roPosterScreen three ---> play the video
I can still go up down and sideways on all screens (as many times as I like) but do this and it all goes to hell:
Home Screen ----> roPosterScreen one ---> roPosterScreen two ---> roPosterScreen three ---> play the video ---> interupt video ---> pop and show roPosterScreen three (iterate as much as you like) <---- go back
Now you'll get a blank screen and the player is dead.
This has cost me a lot of hours of my life. If someone can point out what I could be doing wrong, I'd love to hear it. It makes no sense that the code that manages all this can do it all fine and will have absolutely no issues with any combination of screen pops until you play and interrupt videos a couple of times.