public static function setup($caches, Logger $logger = null, $logLevel = null)
    {
        if (!is_array($caches)) {
            $caches = array(self::_DEFAULT => array('backend' => $caches));
        }

        self::$logger = $logger;
        self::$logLevel = $logLevel;

        foreach ($caches as $name => $options) {
            self::$caches[$name] = self::factory($options);
        }
    }