use coerce internally
ensure context is this

this is handy when creating sub classes like [superagent](//github.com/visionmedia/superagent)
Release 0.4.0