Async with external module support.

There are other problems with this definition file, e.g. map should except two type arguments, one for input and one for output. But those will have to be fixed later. This is just to enable external module support.