Refactoring for enhancement #1: Object Literals for singletons (instead of function with a prototype saved on the window object)