id = IdManager::generateID(self::class); $this->name = $name; $this->todos = array(); } public function getID(): int { return $this->id; } public function getName(): string { return $this->name; } public function setName(string $name) { $this->name = $name; } public function addTodo(Todo $todo): void { $this->todos[] = $todo; } public function getTodos(): array { return $this->todos; } public function getTodoById(int $id): ?Todo { foreach ($this->todos as $todo) { if ($todo->getID() == $id) { return $todo; } } throw new InvalidArgumentException(self::ExceptionMsgTodoNotFound); } public function deleteTodoById(int $id): void { foreach ($this->todos as $key => $todo) { if ($todo->getID() == $id) { unset($this->todos[$key]); } } } }