/12/ design patterns: Singleton
The Singleton Design Pattern
// CONSTRUCTOR
org.moock.logger.Logger = function () {
  this.setLevel("INFO");   
}


// THE "uniqueInstance" STATIC PROPERTY
org.moock.logger.Logger.log = null;

// THE "instance()" STATIC METHOD
  /**
   * Returns a reference to the log instance.
   * If no log instance exists yet, creates one.
   */
  org.moock.logger.Logger.getLog = function () {
    // If no log exists...
    if (org.moock.logger.Logger.log == null) {
      // ...create one.
      org.moock.logger.Logger.log = new org.moock.logger.Logger();
    }

    // Return the log.
    return org.moock.logger.Logger.log;  
  }