function commentManager () {
	this.pool = {};
	this._commentFactory = function (type) {
		if (this.pool[type]) {
			return this.pool[type];
		} else {
			if (eval(type)) {
				this.pool[type] = eval("new "+type+"()");
				return this.pool[type];
			} else {
				return new Flyweight();
			}
		}
	}
	this.draw = function (target, comments) {
		for (obj in comments) {
			this._commentFactory(comments[obj][0]).draw(target, comments[obj][1]);
		}
	}
}

function Flyweight () {
	this.draw = function (target, content) {
	}
}

var comments = [];