 
     test 'long tap', (done) ->
         element = $('.a').get(0)
-        count = 0
-
-        DOMEvents.addListener element, 'longtap', -> count++
-        down(element, 10, 10)
-
-        setTimeout ->
-            up(element)
-            assert.equal count, 1
+        counter = new Number.Counter
+
+        DOMEvents.addListener element, 'longtap', counter.step
+        down(element, 10, 10)
+
+        setTimeout ->
+            up(element)
+            assert.equal counter, 1
             DOMEvents.removeListener element, '*'
             done()
         , 900
 
     test 'a move cancels long tap', (done) ->
         element = $('.a').get(0)
-        count = 0
-
-        DOMEvents.addListener element, 'longtap', -> count++
+        counter = new Number.Counter
+
+        DOMEvents.addListener element, 'longtap', counter.step
         down(element, 10, 10)
 
         setTimeout ->
             move(element, 50, 10)
             setTimeout ->
                 up(element)
-                assert.equal count, 0
+                assert.equal counter, 0
                 DOMEvents.removeListener element, '*'
                 done()
             , 450


    test 'single tap', (done) ->
        element = $('.a').get(0)
        singleCount = 0; doubleCount = 0

        DOMEvents.addListener element, 'singletap', (event) -> singleCount++
        DOMEvents.addListener element, 'doubletap', (event) -> doubleCount++

        down(element, 10, 10)
        up(element)

        setTimeout ->
            assert.equal singleCount, 1
            assert.equal doubleCount, 0
            DOMEvents.removeListener element, '*'
            done()
        , 300

    test 'double tap', (done) ->
        element = $('.a').get(0)
        singleCount = 0; doubleCount = 0

        DOMEvents.addListener element, 'singletap', (event) -> singleCount++
        DOMEvents.addListener element, 'doubletap', (event) -> doubleCount++

        down(element, 10, 10)
        up(element)

    test 'tap textnode', (done) ->
        element = $('.a').get(0)
        text = element.childNodes[0]

        DOMEvents.addListener element, 'tap', (event) ->
            assert.equal event.target, element
