EventEmitter

NodeJS like EventEmitter. See also NodeJS events documentation

To add event emitting ability to any object:

 var myObject = {},
 //compatibility EventEmitter = require('events').EventEmitter;
 EventEmitter = require('events');
 // add EventEmitter to myObject
 EventEmitter.call(myObject);
 var util = require('util');
 util._extend(myObject, EventEmitter.prototype);

In case object created via constructor function

 function MyObject() {
    EventEmitter.call(this);
 }
 util.inherits(MyObject, EventEmitter);

 var myObject = new MyObject();

Usage:

 myObject.on('myEvent', function(num, str){console.log(num, str) });

 myObject.emit('myEvent', 1, 'two'); // output: 1 two