Changed to a singleton design pattern