
    // lamb factory singleton
    var LF    =    (function() {
                       var storage = {};
                       return {
                           store:         function(key,value) {
                                              return storage[key] = value;
                                          },
                           retrieve:      function(key) {
                                              return $type(storage[key]) ? storage[key] : null;
                                          },
                           initialize:    function() {
                                              String.implement({
                                                  'empty':    function() {
                                                                  return this.toString()==='';
                                                              }
                                              });
                                              Element.implement({
                                                  'descends':    function(ancestor) {
                                                                      return this.getParents().contains(ancestor);
                                                                 }
                                              });
                                          }
                       };
                   })();

    // shortcut access
    window[SC] = LF;
    window.LFQ = window[SC+'Q'];

    // mark the queue to be processed when the dom's ready
    window.addEvent('domready',LFQ.process);