That's a good question - honestly it's not something I've had to think hard about since coffee takes care of it.


This is something I'd write (if I'm understanding the code correctly):
```coffee
class User
  User: =>
    @button = 'something'
    @button.on 'click', @update()
  
  update: =>
    # do something
    console.log 'update'
```

and this is the compiled output.
```javascript
var User,
  __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };

User = (function() {

  function User() {
    this.update = __bind(this.update, this);

    this.User = __bind(this.User, this);

  }

  User.prototype.User = function() {
    this.button = 'something';
    return this.button.on('click', this.update());
  };

  User.prototype.update = function() {
    return console.log('update');
  };

  return User;

})();

```

Once we convert everything to coffee, this won't be something we'll have to worry about, I believe.