Asynchronous API support

Add Future object, and expose asynchronous APIs.