Adding Async Functionality

I know this isn't on the list, but I had a need to implement this for a project where the data was too big for .NET to parse it to JSON, so I implemented this anyway.  This needs code cleanup for sure, and could definitely use some documentation.