Yay, I was investigating that right now in the scope of another sms app bug! I found out that there are different implementations of promises are used across the gaia, but I think we should stick with mozilla native one - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise.

Done. It made code looks a bit more complex, but I think the benefits will follow. Also updated related unit tests to support new promise-based close\back calls.