Simple promise-a library.