First try on passing Promises/A+ implementation