The above mentioned functionality. From the application (server) I would like to be able to "see" if the web server is running and have the ability to change the port ( I would assume I would have to stop/start the jetty bits). If I have to drop the host application, there would be no point.
You didn't mention changing ports which is a more complicated issue.
Once you call Server.Start the server will keep running until the process is killed. You can use a global variable to monitor its running state.
It is not possible to change the port when the server is running. You can create another app that is responsible for killing the server process and starting it with the port passed as a command line parameter.