define([
  'extensions/collections/collection'
],
function (Collection) {
  return {
    requiresSvg: true,
    collectionClass: Collection,

    collectionOptions: function () {
      var valueAttr = this.model.get('value-attribute') || '_count';
      var options = {
        valueAttr: valueAttr
      };
      options.format = this.model.get('format') ||
        { type: 'integer', magnitude: true, sigfigs: 3, pad: true };

      options.dataSource = this.model.get('data-source');
      options.dataSource['query-params'] = _.extend({flatten:true}, options.dataSource['query-params']);

      options.axes = _.merge({
          x: {
            label: 'Dates',
            key: ['_start_at', 'end_at'],
            format: 'date'
          },
          y: [
            {
              label: 'Number of applications',
              key: valueAttr,
              format: options.format
            }
          ]
        }, this.model.get('axes'));
      return options;
    },

    visualisationOptions: function () {
      return {
        maxBars: this.model.get('max-bars'),
        target: this.model.get('target'),
        pinTo: this.model.get('pin-to')
      };
    }
  };

});

define([
  'extensions/collections/collection'
],
function (Collection) {
  return {
    requiresSvg: true,
    collectionClass: Collection,

    collectionOptions: function () {
      var valueAttr = this.model.get('value-attribute') || '_count';
      var options = {
        valueAttr: valueAttr
      };
      options.format = this.model.get('format') ||
        { type: 'integer', magnitude: true, sigfigs: 3, pad: true };

      options.dataSource = this.model.get('data-source');
      options.dataSource['query-params'] = _.extend({flatten:true}, options.dataSource['query-params']);

      options.axes = _.merge({
          x: {
            label: 'Dates',
            key: ['_start_at', 'end_at'],
            format: 'date'
          },
          y: [
            {
              label: 'Number of applications',
              key: valueAttr,
              format: options.format
            }
          ]
        }, this.model.get('axes'));
      return options;
    },

    visualisationOptions: function () {
      return {
        maxBars: this.model.get('max-bars'),
        target: this.model.get('target'),
        pinTo: this.model.get('pin-to')
      };
    }
  };

});
Use the column module and just extend from that.
Use the column module and just extend from that.
