Connection manager factored out
Web request details factored out to separate module