Playing with building a promises API.