amqp.node has a callback-based API if you don't want to use the promise-based API. But this guy reimplemented it, apparently because he doesn't like promises ("This library solves Issues 1 and 2 if you can put up with promises, but it still didn’t solve Issue 3").<p>He must really hate promises.