All non-abstract final type classes must have private constructors to ensure that object instantiation is done only via alloc() on each.