text: define(function() {
  
      // get an object containing all uri parameters
  
  
  
      var qs = (function(a) {
          if (a == "") return {};
          var b = {};
          for (var i = 0; i < a.length; ++i)
          {
              var p=a[i].split('=', 2);
              if (p.length == 1)
                  b[p[0]] = "";
              else
                  b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
          }
          return b;
      })(window.location.search.substr(1).split('&'));
  
  
  
      function URIParameterExtractor(callbacks) {
  
          this.queryParameters = qs;
          callbacks.forEach(function(callback) {
              callback.call(this, qs);
          });
  
          this.getParams = function() {
              return qs;
          }
      }
  
      return URIParameterExtractor;
  
  
  });
  