   unbind: (ev, callback) ->
     unless ev
       @_callbacks = {}
-      return @
+      return this
 
     list = @_callbacks?[ev]
-    return @ unless list
+    return this unless list
 
     unless callback
       delete @_callbacks[ev]
-      return @
+      return this
 
     for cb, i in list when cb is callback
       list = list.slice()
       list.splice(i, 1)
       @_callbacks[ev] = list
       break
-    @
+    this
 
 Log =
   trace: true

        @[key](value)
      else
        @[key] = value
    @

  attributes: ->
    result = {}
    for key in @constructor.attributes when key of @
      if typeof @[key] is 'function'
        result[key] = @[key]()
      else

    for name in evs
      calls[name] or= []
      calls[name].push(callback)
    this

  one: (ev, callback) ->
    @bind ev, ->
