I'm creating a small wrapper for HTML5 canvas, and one thing I'm doing is returning self/this from each of my wrapped methods to make easy call chaining. 

For lack of a better name i'm calling my wrapper Canvas. It basically wraps the canvas and context together.

One thing I did is add the below methods to the Canvas.prototype

```
Canvas.fn = Canvas.prototype = {
    save: function () { this.ctx.save(); return this; },
    restore: function () { this.ctx.restore(); return this; },
    scale: function (x, y) { this.ctx.scale(x, y); return this; },
    rotate: function (angle) { this.ctx.rotate(angle); return this; },
    translate: function (x, y) { this.ctx.translate(x, y); return this; },
    transform: function (a,b,c,d,e,f) { this.ctx.transform(a,b,c,d,e,f); return this; },

```

Is there an easier way to add these methods using some delegate? Maybe with an array or the function names? Note that some methods take arguments and I want to pass them as is to the actual self.ctx method.