Bare bones Promises/A+ implementation