Implementing POST; disposing HTTP client properly; cleaning up code; changing the async model (moving Task.Run to HttpRequestViewModel to fix marshalling errors)