**WIP:** V2.0

Rewrote it to be better.
`cb()` vs `cb(null)` vs `cb(undefined)` all same thing.