private function executeCallback($name, $default, ...$arguments)
{
if (array_key_exists($name, $this->_callbacks)) {
$callback = $this->_callbacks[$name];
if (is_callable($callback)) {
return $callback(...$arguments);
} else {
return $default;
}
} else {
throw new \InvalidArgumentException(sprintf('Unknown callback specifier "%s".', $name));
}
}