Idea:
- Make constructor private
- Add a public factory that returns a singleton