https://digitalfortress.tech/js/promises-vs-callbacks/
Demystifying Promises vs Callbacks