code: function (fn, context) {
          var obj = this,
              keys = Object.keys(obj),
              l = keys.length,
              i = -1,
              key;
          while (++i < l) {
              key = keys[i];
              fn.call(context || obj, obj[key], key, obj);
          }
          return obj;
      }
docs: Loops through all properties in the object.  Equivalent to Array.forEach.
  The callback is provided with the value of the property, the name of the property
  and a reference to the whole object itself.
  The context to run the callback in can be overriden, otherwise it is undefined.
  
  @method itsa_each
  @param fn {Function} Function to be executed on each item in the object.  It will receive
  value {any} value of the property
  key {string} name of the property
  obj {Object} the whole of the object
  @chainable