function Selection(eventBus, canvas) {

  this._eventBus = eventBus;
  this._canvas = canvas;

  /**
   * @type {Object[]}
   */
  this._selectedElements = [];

  var self = this;

  eventBus.on([ 'shape.remove', 'connection.remove' ], function(e) {
    var element = e.element;
    self.deselect(element);
  });

  eventBus.on([ 'diagram.clear', 'root.set' ], function(e) {
    self.select(null);
  });
}
A service that offers the current selection in a diagram.
Offers the api to control the selection, too.

@param {EventBus} eventBus
@param {Canvas} canvas