could be final, since there is only a private ctor, and therefore you can't extend it.