Because it is unused and untested, I thought it was an artifact of your design process. Since you're hesitant to remove it, I'm guessing that it's here as a convenience for application usage.

Is there a use case that involves calling `getSingleton` without first calling `constructSingleton`? I ask because I'm thinking it could be nice to merge these into a single method:

```javascript
Database.singleton = function(options) {
  var db = databaseSingletons.get(options.name);
  if (!db) {
    db = new Database(options);
    databaseSingletons.put(options.name, db);
  }
  return db;
};
```

...with the obvious drawback that retrieval now requires an object literal instead of a string:

```javascript
var db = Database.singleton({ name: 'theres-a-guy-drinking-a-mountain-dew-outside-our-office' });
```

You have a much clearer idea of the usage of this thing, so please let me know if this makes sense.