Proper singleton class implementation