Some performance tweaks

How about this? It eliminates excessive `.bind(this)` and also makes the user provided callback async with `process.nextTick()`.