class ControllerImpl implements Controller {

    @Override
    public void stop() throws IllegalStateException {
        if (webServer == null) {
            throw new IllegalStateException("Webserver not started!");
        }

        webServer.stopServer();
        webServer = null;
        gui.stop();
    }

    public  ControllerImpl(final ServerConfigFactory serverConfigFactory,
                          final ServerSocketFactory serverSocketFactory,
                          final ServerGui gui);

}