Standardize callback usage, and reduce callback hell using async