Function decorators: Transforming callbacks into promises and back againby@joelthoms