Made Promise constructor inherit EventEmitter to fix domains