routes = new ArrayObject(); } public function getIterator() { return $this->routes; } public function draw(\Closure $block) { if (!$this->routes_drawn) { $mapper = new Mapper($this); $mapper->drawRoutes($block); $this->routes_drawn = true; } } public function add(Route $route) { $this->routes[] = $route; } public function set_root_route(Route $route) { $this->rootRoute = $route; } public function set_panel_route(Route $route) { $this->panel_route = $route; } public function set_assets_route(Route $route) { $this->assets_route = $route; } public function rootRoute() { return $this->rootRoute; } public function panelRoute() { return $this->panel_route; } public function assetsRoute() { return $this->assets_route; } public function routes() { return $this->routes; } }