                     unless Greenhorn.isDown[KEYS[token]]
                         @emit event
             #fire 'collisionWith:other' events
-            else if event.match /^collisionWith:\w+/
+            else if /^collisionWith:\w+/.test event
                 if @collidesWith listeners.other
                     @emit event, listeners.other
             #fire 'noCollisionWith:other' events
-            else if event.match /^!collisionWith:\w+/
+            else if /^!collisionWith:\w+/.test event
                 unless @collidesWith listeners.other
                     @emit event, listeners.other
             #fire 'distanceTo:other-cmp-value' events
-            else if event.match /^distanceTo:\w+-(gt|lt|eq|ge|le|ne)-\d*\.?\d*$/
+            else if /^distanceTo:\w+-(gt|lt|eq|ge|le|ne)-\d*\.?\d*$/.test event
                 tokens = event.split(':')[1]
                 tokens = tokens.split '-'
                 tokens[2] = parseFloat tokens[2]

                @_pos.y = to - _bottom._y
            else if @_bnd.shape is 'circle'
                @_pos.y = to + @get 'radius'
        else if what.match /^right$/
            old = @get 'right', false if _emit
            if @_bnd.shape is 'polygon'
                _right = @_bnd.points[0]

                @_pos.x = to - _left._x
            else if @_bnd.shape is 'circle'
                @_pos.x = to + @get 'radius'
        else if /^radius$/.test what
            old = @get 'radius', false if _emit
            if @_bnd.shape is 'circle'
                @_bnd.radius = to
            else
                throw new Error "Cannot set radius when shape isnt 'circle'"
        else if /^imageFile$/.test what
            old = @get 'imageFile', false if _emit
            if Sprite.config.imagePath.match /\/$/
                @_dis.image.src = Sprite.config.imagePath.concat to
