Thanks again all.
?Based on the comments I'm not going to try to support multiple windows :) My project doesn't need them anyway.
My problem is that I identified 'Window' as being a good abstraction of something I'd need my application to have and a common one. And once I did that it because natural to ask does it make sense to have more than one window in an application.... Yes, it makes sense.
And then the issue of how to implement it nagged and nagged at me leading to complete coding paralysis!
I have decided that I have no need to implement multiple windows/contexts in my project so I will not do.
?Having decided that it seems natural to merge window and context management into my 'Game' class as they don't really need their own identity and it's natural to have a single "Game" object created in a program but not so much a 'Window'