promise should always return a promise
better readme
using async it
Better spec support

Added better integration with Events