title: Is there a way to attach callback what fires whenever a crossfilter dimension filter changes?
body: <p>I have several charts built with dc.js. I can achieve the desired functionality by attaching a callback to each dc.js chart's .on("filterted", function(chart) {}) but this is annoying because I have to attach the same callback to each chart. And error prone because as new charts are added, someone has to remember to attach an event hander. I would prefer to just attach a callback to the underlying crossfilter. Is that possible?</p>
  
  <p>Is there a way to optimize this...</p>
  
  <pre><code>var ndx = crossfilter(data);
  var dimAlpha = ndx.dimension(function(d) {return d.alpha});
  var dimBeta = ndx.dimension(function(d) {return d.beta});
  var groupAlpha = dimAlpha.group().reduceSum(function(d) {return 1;});
  var groupBeta = dimBeta.group().reduceSum(function(d) {return 1;});
  
  dc.pieChart(myDomId1)
    .dimension(dimAlpha)
    .group(groupAlpha)
    .on("filtered", function(chart) {
      //do stuff
    });
  
  dc.pieChart(myDomId2)
    .dimension(dimBeta)
    .group(groupBeta)
    .on("filtered", function(chart) {
      //do stuff
    });
  </code></pre>
  
  <p>into something like this...</p>
  
  <pre><code>var ndx = crossfilter(data);
  var dimAlpha = ndx.dimension(function(d) {return d.alpha});
  var dimBeta = ndx.dimension(function(d) {return d.beta});
  var groupAlpha = dimAlpha.group().reduceSum(function(d) {return 1;});
  var groupBeta = dimBeta.group().reduceSum(function(d) {return 1;});
  
  dc.pieChart(myDomId1)
    .dimension(dimAlpha)
    .group(groupAlpha);
  
  dc.pieChart(myDomId2)
    .dimension(dimBeta)
    .group(groupBeta);
  
  ndx.on("filtered", function() {
    //do stuff
  })
  </code></pre>