private static function getImpl() {
   if(is_null(self::$impl)) {
     $pkg = Package::getPackageByName('i18n');
     $implName = $pkg->getProperty('provider');
     try {
       $rc = new ReflectionClass($implName);
       self::$impl = $rc->newInstance();
     } catch(ReflectionException $re) {
       throw new ConfigurationException('i18n', 'provider', ($implName ? 'Cannot instantiate i18n provider ' . $$implName : 'i18n provider not set (provider option empty in i18n/.config)'));
     }
   }
   return self::$impl;
 }