public function __call($name, $args)
{
if (in_array($name, $this->user_accessors)) {
/** @var AccessorAbstract $acc */
$acc = new $name($this, $args);
/*
this first argument should always be the key we're accessing
*/
return $acc->run($args[0]);
} else {
throw new Exception("The accessor {$name} does not exist and is not registered", E_USER_ERROR);
}
}