code: function (cat, key, createIfNull) {
              if (createIfNull !== true) {
                  createIfNull = false;
              }
              var res = null;
              if (createIfNull) {
                  if (this.content[cat] == null) {
                      this.content[cat] = {};
                  }
                  var res = this.content[cat][key];
                  if (res == null) {
                      res = {
                          status : this.STATUS_NEW,
                          value : null
                          // loader:null - don't need to be created if not used
                      };
                      this.content[cat][key] = res;
                  }
              } else {
                  if (this.content[cat] != null) {
                      res = this.content[cat][key];
                  }
              }
              return res;
          }
docs: Get (and optionally create) a cache entry
  @param {String} cat item category (first key used in content Map to create a sub-map)
  @param {String} key item key in the category Map
  @param {Boolean} createIfNull [default:false] create an item if none is already defined
  @return {Object} a cache item structure:
  
  <pre>
  {
  status: {Integer} indicates the item status [STATUS_NEW | STATUS_LOADING | STATUS_AVAILABLE | STATUS_ERROR]
  value: {Object} value associated to the item
  loader: {Object} loader object associated to this item when status = STATUS_LOADING
  }
  </pre>