Motify the lisntener on after emiting

this is a example:

function StreamLibrary() {
	this.emit('data', 'abc'); 
	this.emit('data', 'abcdef');         
}
StreamLibrary.prototype.__proto__ = EventEmitter.prototype;  
var stream = new StreamLibrary();
// the two listens can get 'abc' and 'abcdef'
stream.on('data', function(chunk) {
    console.log('Received: ' + chunk);
});
stream.on('data', function(chunk) {
    console.log('other: ' + chunk);
});
// the normal listen emit, that two lisntens will get 'finish'
stream.emit('data', 'finish');
// the listen can not get 'abc' 'abcdef' and 'finish' , but it can get 'zzz'
stream.on('data', function(chunk){
	console.log('finish: ' + chunk);
});
stream.emit('data', 'zzz');

I only modify the on(Function) and emit(Function) , if you think this hange has significance , i will do other work .