public function start($runLoop = true)
{
Logger::info($this, "Starting router");
if ($this->loop === null) {
throw new \Exception("Loop is null");
}
$this->started = true;
$this->eventDispatcher->dispatch("router.start", new RouterStartEvent());
if ($runLoop) {
Logger::info($this, "Starting loop");
$this->loop->run();
}
}