Pulled out the web server parts into a reusable library