public static function __callStatic($method, $args)
{
if ($method == 'create') {
if (!count($args)) {
throw new \Exception(sprintf('Cannot call static create() without a class argument'));
}
return new self(self::create($args[0]));
} else {
throw new \Exception(sprintf('Call to unsupported method %s on %s', $method, __CLASS__));
}
}