 
     @highlight highlight_time_on_load
 
-    @balloon = new Factlink.Balloon id, @
+    @balloon = new Factlink.Balloon @id, @
 
     # Bind the own events
     $(@elements)
       .on('mouseenter', @focus)
       .on('mouseleave', @blur)
-      .on('click', @click)
+      .on('click', (=> @click()))
       .on 'inview', (event, isInView, visiblePart) =>
         @highlight(highlight_time_on_in_view) if ( isInView && visiblePart == 'both' )
 
     @bindFocus()
-
-    @bindClick id
 
   # This may look like some magic, but here we expose the Fact.blur/focus/click
   # methods

        hideBalloon = =>
          @balloon.hide()

        @timeout = setTimeout hideBalloon, 300

  bindClick: (id) ->
    @click =>
      @balloon.startLoading()

      Factlink.showInfo id, =>
        @balloon.stopLoading()

  destroy: ->
    for el in @elements


class Factlink.Fact
  # If you want to support more events add them to this variable:
  _events: ["focus", "blur"]

  constructor: (id, elems) ->
    @id = id
    # Internal object which will hold all bound event handlers
    @_bound_events = {}

