javascript is a dumpster fire and if i have to debug one more async callback hell i'm going to lose my mind