public function __call($name, $params)
{
$callback = $this->dispatcher->get($name);
if (is_callable($callback)) {
return $this->dispatcher->run($name, $params);
}
if (!$this->loader->get($name)) {
throw new \Exception("{$name} must be a mapped method.");
}
$shared = !empty($params) ? (bool) $params[0] : true;
return $this->loader->load($name, $shared);
}