There's two things I'm concerned about here. The first is that if load fails, we'll get called again, possibly repeatedly. The second is the fact that the callback and add parameters differ: i.e. if we've bound to be call with add(this, username, cb), what happens when we then do cb.call(this, null, this.db)? Is there some magic going on?