https://blog.aaronnotes.com/posts/design-patterns/singleton-pattern/
Singleton Pattern