Callbacks, Promises & Generators! Oh my!