CallbackChain = function() {
  this._count = 0;
  this._callbacks = [];
}
A CallbackChain can be used to wrap other callbacks and perform a list of
actions at the end, once all the wrapped callbacks have been invoked.