Hi! I want to make a class X which purpose is to serve as a helper object to other class, lets call it A. But, i want to avoid having a public new method for this class X, so is not possible to create a X object directly. I still need, though, to create it from my class A.

The helper class is actually an Index (likt the one you create on a database table). The table is an immutable object, however, for speedy search, you can create other indexes. So the indexes have to live outside the immutable table object, that's why i need to have the helper index type available outside.

Sorry, but I was thinking...As in cat of the hat, thing 1 and thing 2 can be called thing b and thing a... that shows that the thing 1 isn’t more important than thing 2, as thing a isn’t more important than thing b... would it make sense if we did something similar to the Perl languages? Call Perl 5 and Perl 6 of Perl A and Perl B? Or something like that?