Yet another implementation of Promises