public static function create(array $config)
    {
        if (false === array_key_exists('transport', $config)) {
            throw new MisconfigurationException(sprintf('Can not create Transport : missing classname.'));
        }

        $classname = $config['transport'];
        if (false === class_exists($classname)) {
            throw new MisconfigurationException(sprintf('Can not create Transport : unknown classname %s.', $classname));
        }

        return new $classname($config);
    }