Adding Q and switching to promises, starting move to Coffeescript