What are Singleton classes and Why do we need them?