  suiteSetup(function() {
    el = document.createElement('x-imperative');
    document.body.appendChild(el);
    fn = function(e) { el.handle(e); };
  });
  suiteTeardown(function() {
    document.body.removeChild(el);
  });

  test('add listeners with addListener', function() {
    addListener(el, 'down', fn);
    gestures.add(el, 'up', fn);
    var ev = new CustomEvent('mousedown', {bubbles: true, composed: true});
    el.dispatchEvent(ev);
    assert.equal(el.stream.length, 1);
    assert.equal(el.strea