Reworked some of the async stuff so that it will work correctly.  Added support for subscriptions (which I think are working, but not sure).