Add ServerException, and check for socket errors in TCPServer
Display server errors in UI
Add documentation to interfaces