I have a function:
 interval(duration, fn) {
  var _this = this
  this.baseline = undefined
  
  this.run = function(){
    if(_this.baseline === undefined){
      _this.baseline = new Date().getTime()
    }
    fn()
    var end = new Date().getTime()
    _this.baseline += duration
    var nextTick = duration - (end - _this.baseline)
    if(nextTick<0){
      nextTick = 0
    }
    
    _this.timer = setTimeout(function(){
      _this.run(end)
    }, nextTick)
  }
  this.stop = function(){
    clearTimeout(_this.timer)
  }
}
Now when I invoke this function as such:
var timer = new this.interval(this.tempo, function(){
        this.audio.pause()
        this.playBackground()
      })
I need to somehow bind 'this' so that it is accessible so that I can call on this.audio.pause()
How do I bind this so I can access it?
