own: false,
    mouseDownStart: 0.0,
    mouseUpStart: 0.0,
    tDown: 0,
    tUp: 0
  };
  return wave;
}

function removeWaveFromScope(scope, wave) {
  if (scope.waves) {
    var pos = scope.waves.indexOf(wave);
    scope.waves.splice(pos, 1);
  }
};


function setUpPaperByClass( classname ) {
  var elems = document.querySelectorAll( classname );
  [].forEach.call( elems, function( el ) {
      setUpPaper(el);
  });
}

function setUpPaper(elem) {
  var pixelDensity = 2;

  var elementStyle = window.getCom