Use Singleton for thread-safety. GH #6