Convert callbacks to futures