don't need (callback, errback) params when defining functions that return promises
callbacks and errbacks are called in future turn of the event loop proof of concept
enqueue
enqueue - ensures that given callback is run in a future turn of event loop