Re-add async calling of events, so that requests can run async
Remove singleton pattern from HttpRequest and HttpContext