uninstantiable classes should be final and have a private constructor.