Update methods should be eliminated and replaced with Object.defineProperty() for the properties involved. For example,
Renderer.Chord.prototype.update = function(duration,numDots,articulation) {
this.updateDuration(duration);
this.updateNumDots(numDots);
this.updateArticulation(articulation);
};
and the methods that it calls should in turn be refactored into three Object.defineProperty() calls: one for duration, one for numDots, and one for articulation.