public function addMenu(array $menu, string $namespace = null, int $position = null): void
	{
		foreach ($menu as $name => $row) {
			if (!isset($row['link'])) {
				throw new InvalidArgumentException('First level of Menu must have set link');
			} else {
				$link = new Link($name, $row['link'], isset($row['arguments']) ? $row['arguments'] : []);
				$link->setNamespace($namespace);
				if (!empty($row['toBlank'])) {
					$link->toBlank();
				}
				$this->addItem($link, $position);
				$this->attachLink($link);

				unset($row['link'], $row['arguments'], $row['toBlank']);
				$this->addMenuItems($link, $row);
			}
		}
	}