docs: function (attributes) {
              var val;
  
              for (var k in attributes) {
                  // programtically created attribute
                  if (!_.isString(attributes[k])) {
                      continue;
                  }
  
                  val = attributes[k];
                  if (val.charAt(0) === '[' || val.charAt(0) === '{') {
                      try {
                          attributes[k] = JSON.parse(val);
                      } catch (e) {
                          LAZO.logger.warn('[lazoWidget] Error while parsing attribute value', e);
                      }
                  } else if (_.isNumber(parseFloat(val)) && !_.isNaN(parseFloat(val))) {
                      attributes[k] = parseFloat(val);
                  } else if (val === 'true') {
                      attributes[k] = true;
                  } else if (val === 'false') {
                      attributes[k] = false;
                  }
              }
  
              return attributes;
          }