public IDisposable LaunchRunner()
{
var middleware = new TopicMiddleware(this, _container.GetInstance<IHtmlGenerator>(), _settings);
var webSockets = new WebSocketsHandler();
_refresher = new BrowserRefresher(webSockets);
var port = PortFinder.FindPort(5000);
_settings.WebsocketAddress = $"ws://localhost:{port}";
_container.Inject<IBrowserRefresher>(_refresher);
StartScanning();
var host = startHost(port, webSockets, middleware);
_topicWatcher = new TopicFileWatcher(_settings, this);
_topicWatcher.StartWatching(_refresher);
return host;
}