code: public static function getVendor(string $sVendorName, $mParam = null, $mParam2 = null)
  	{
  	    if ($sVendorName === 'Apollina\Template') { 
  
  	        $oApollina = new $sVendorName($mParam, str_replace('kernel'.DIRECTORY_SEPARATOR.'lib', 'bundles', __DIR__),
  	            str_replace('kernel'.DIRECTORY_SEPARATOR.'lib', CACHE_DIR, __DIR__), $mParam2);
  
  	        return $oApollina->addFunctionPath(__DIR__ . DIRECTORY_SEPARATOR, '\Venus\lib\Functions\\');
  	    }
  	    else if ($sVendorName === 'Attila\Orm') {
  
  	        $oDbConfig = Config::get('database')->configuration;
  
  	        return new $sVendorName($oDbConfig->db, $oDbConfig->type, $oDbConfig->host, $oDbConfig->user, $oDbConfig->password, 
  	            $oDbConfig->db);
  	    }
  	    else if (isset($mParam) && isset($mParam2)) { 
  	        
  	        return new $sVendorName($mParam, $mParam2);
  	    }
  	    else if (isset($mParam)) { 
  	        
  	        return new $sVendorName($mParam);
  	    }
  	    else { 
  	        
  	        return new $sVendorName;
  	    }
  	}
docs: constructor - factory
  To call a specific vendor, you have to call this class like this :
  new \Venus\lib\Vendor('Apollina\Template');
  new \Venus\lib\Vendor('Attila\Orm');
  new \Venus\lib\Vendor('Mobile_Detect');
  
  @access public
  @param  string $sVendorName
  @param  mixed $mParam
  @param  mixed $mParam2
  @return bool|object