but why are we adding another Promise impl when Blink already has one? Are you replacing the one in Blink and/or will they work together... giving the complexity it was implementing this correctly in Blink (performance, no mem leaks etc) im pretty sure the below impl is incomplete.