         # console.log 'applying overridden method', methodname, arguments
         supr.apply(scope, arguments)
         meth.apply(scope, arguments)
-      # console.log('overrode method', methodname, scope, supr, meth)
+        # console.log('overrode method', methodname, scope, supr, meth)
     else
       scope[methodname] = method
       # console.log('installed method', methodname, scope, scope[methodname])


  # generate a callback for an event expression in a way that preserves scope, e.g. on_x="console.log(value, this, ...)"
  eventCallback = (name, script, scope, fnargs=['value']) ->
    # console.log 'binding to event expression', name, script, scope
    js = compileScript(script, fnargs)
    () ->
      if name of scope
        args = [scope[name]]
      else 
        args = arguments
      # console.log 'event callback', name, args, scope, js
        js.apply(scope, args)



      @started = false
      @docSelector.off("mousemove", @handler).one("mouseover", @start)

  mouse = new Mouse()

  exports = {
    view: View,
