Is this common with other classes too? Does this mean that the thread that opened the screen needs to handle display & input?
No, there's really no other constraint than what I said: events must be polled (
DispatchEvents) in the thread that created the window. As far as I know, all common OSes behave like this (it's even worse on OS X where all windows must be managed in the main thread).