code: function _validateNonEmptyString(value, description, deferred) {
          var reportError = deferred ? deferred.reject : console.error;
  
          // http://stackoverflow.com/questions/1303646/check-whether-variable-is-number-or-string-in-javascript
          if (Object.prototype.toString.call(value) !== "[object String]") {
              reportError(description + " must be a string");
              return false;
          }
          if (value === "") {
              reportError(description + " must not be empty");
              return false;
          }
          return true;
      }
docs: Helper functions 
  Checks whether value is a non-empty string. Reports an error otherwise.
  If no deferred is passed, console.error is called.
  Otherwise the deferred is rejected with the error message.
  @param {*}                value         The value to validate
  @param {!string}          description   A helpful identifier for value
  @param {?jQuery.Deferred} deferred      A deferred to reject with the error message in case of an error
  @return {boolean} True if the value is a non-empty string, false otherwise