Fix async result implementation using future