code: function stringifyObject(object, maxDepth) {
  	if (typeof object === 'undefined') {
  		return 'undefined';
  	} else if (object === null) {
  		return 'null';
  	}
  
  	var stringRepresentation = object.toString();
  	if (object instanceof Array && maxDepth > 0) {
  		return object.map(function(item) {
  			return stringifyObject(item, maxDepth - 1);
  		}).toString();
  	} else if (stringRepresentation === '[object Object]') {
  		return truncatedJSONStringify(object, 30);
  	} else {
  		return stringRepresentation;
  	}
  }
docs: Gets a string representation of an object. If there is a usable toString()
  implementation, then it will return that. Otherwise, it will attempt to get
  a more specific string representation by getting the JSON string version of
  the object. For arrays, it will attempt to stringify its items recursively.
  
  @param {*} object The object to get a string representation for.
  @param {number} maxDepth The maximum depth to recurse for arrays.
  @returns {string} The string representation of the object.
  @private