Minimal A+ promise implementation