be travis-ci ready out of the box
handle phantomjs' lack of Function.prototype.bind