Instantiate class that children have access to globally?

Not sure if the title of this is perfectly descriptive of what I’m looking for but here’s what I’m looking for:

I want a class that I’ll call GlobalCounter that has a getter called next. Class Parent would instantiate gc = new GlobalCounter() and then each gc.next call increments a parameter on GlobalCounter and returns an integer one greater than the last. So on Parent:

trace(gc.next); // 1
trace(gc.next); // 2
trace(gc.next); // 3

Fine so far. But what I want is for all of Parent’s children and its children’s children to have access to GlobalCounter’s next value, so that after the above, if SubChild2_2 asks for GlobalCounter’s next value it would get 4.

I know that I could pass gc from Parent to each of its children and from each Child to each SubChild, but I’m hoping to avoid that. I want to call GlobalCounter once from Parent.

Is this possible?