properties[$key]) && $this->properties[$key] instanceof Closure) { $this->setProperty($key, $this->properties[$key]($this, $key)); } return $this->parentGetProperty($key); } public function getIterator(): Traversable { foreach ($this->properties as $key => $value) { if (! $value instanceof Closure) { yield $key => $value; } } } }