public function __construct($callback) { if (!self::isValid($callback)) { throw new InvalidException(sprintf('Callback should be a callable, %s given!', gettype($callback))); } $this->_callback = $callback; }