function forOwn(object, callback, thisArg) {
      callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
      return baseForOwn(object, callback);
    }
Iterates over own enumerable properties of an object, executing the callback
for each property. The callback is bound to `thisArg` and invoked with three
arguments; (value, key, object). Callbacks may exit iteration early by
explicitly returning `false`.

@static
@memberOf _
@category Objects
@param {Object} object The object to iterate over.
@param {Function} [callback=identity] The function called per iteration.
@param {*} [thisArg] The `this` binding of `callback`.
@returns {Object} Returns `object`.
@example

_.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
  console.log(key);
});
// => logs '0', '1', and 'length' (property order is not guaranteed across environments)