Hides default constructor to force use of getInstance