Another Promises/A+ implementation