Sounds like you have a grip on it Ken,
I would approach it in much the same way.. though you may want to create a collection object, derived from collectionsbase and add your page objects to it instead of a hashtable. I only say this as sometimes, hashtables can cause you nightmares if you ever need to use it in remoting or you wish to use your object collections in a public interface.
I guess it's like they say, general users will never see the elegence of what you have created if in what you have created simplifies their journey. It will all be worth it in the end.