I think there's a confusion in terms. I'm using class var to mean global to the whole class and each instance of the class.
The confusion is yours. You've been saying the above, but you haven't been doing the above. Like I said, your instance constructor populates the globals instead of the instance.
If there's only ever one instance, what you have a singleton, and you've made a mess of things.
If there can be multiple instances, your code is broken.
There shouldn't be multiple initializations
Then they should be initialised outside of any function.
Does this clear anything up?
No. I understood fine all along.