lib/kissmetrics.js
function record_kissmetrics_client() {
  
  var args          = Array.prototype.slice.call(arguments)
  
    , callback      = args.pop()
    
    , person        = args.shift()
    , event         = args.shift()
    , properties    = args.shift() || {}
    
    , query_params  = new Object(properties)
    ;

  query_params['_p'] = person;
  query_params['_n'] = event;
  
  this.request('/e', query_params, callback);
  
}
function record_kissmetrics_client() {
  
  var args          = Array.prototype.slice.call(arguments)
  
    , callback      = args.pop()
    
    , person        = args.shift()
    , event         = args.shift()
    , properties    = args.shift() || {}
    
    , query_params  = new Object(properties)
    ;

  query_params['_p'] = person;
  query_params['_n'] = event;
  
  this.request('/e', query_params, callback);
  
}
****************************************************************************
Records `event` for `person. Also sets `properties` on the person if
specified.

@param person {String} The identity of the person doing the event.

This is limited to 255 chars and all commas (,), and colons (:) will
automatically be changed to spaces (KISSmetrics will convert foo:bar,baz to
foo bar baz).

@param event {String} The name of the event you want to record.

This is limited to 255 chars and all commas (,), and colons (:) will
automatically be changed to spaces (KISSmetrics will convert foo:bar,baz to
foo bar baz).

@param properties {Object} (optional) An object containing the properties to
be set on `person`.

@param callback {Function} A function of the form `function(err)`.