Refactor the bluebird promise stuff into its own bower repo