public function load($config)
    {
        if (is_string($config) and file_exists($config))
        {
            $config = include $config;
        }

        if ( ! is_array($config))
        {
            $msg = 'Failed to load configuration data';

            throw new ConfigurationException($msg);
        }

        return new Configuration($config);
    }