function Annotations() {
	var self;
	if ( !instanceOf( this, Annotations ) ) {
		return new Annotations();
	}
	self = this;
	debug( 'Creating an instance...' );
	EventEmitter.call( this );
	this.on( 'change', onChange );
	this.on( '_render', onRender );
	return this;

	/**
	* Callback invoked upon receiving a change event.
	*
	* @private
	*/
	function onChange() {
		debug( 'Received a change event.' );
		self.render();
	}

	/**
	* Re-emits a render event.
	*
	* @private
	*/
	function onRender() {
		var args;
		var i;
		debug( 'Received a render event. Re-emitting...' );
		args = new Array( arguments.length+1 );
		args[ 0 ] = 'render';
		for ( i = 0; i < arguments.length; i++ ) {
			args[ i+1 ] = arguments[ i ];
		}
		self.emit.apply( self, args );
	}
}
Annotations constructor.

@constructor
@returns {Annotations} annotations instance

@example
var node = new Annotations();