why don't we just make this an inline closure? e.g. 

    .on("zoom", function() {
      self.barCon.attr("transform", "translate(" + d3.event.translate[0] + ",0)scale(1, 1)");
    })

Seems clearer than passing `this` down to a one-line function