public function __construct($callback, $max = 4) { if (!is_callable($callback) && !$callback instanceof Runnable) { throw new \InvalidArgumentException('callback must be a callback function or a object of Runnalbe'); } $this->runnable = $callback; $this->max = $max; }