Implementation of the Singleton pattern using Sigleton module
Implementation of the Factory Method pattern