public function __construct($callback) { if (!is_callable($callback)) { throw new ComponentException('Invalid callback function'); } $this->callback = $callback; }