public static function load($filename = null)
 {
     if (is_null($filename)) {
         $filename = sfConfig::get('app_default_tempos_configuration_file');
     }
     chdir(dirname(__FILE__) . '/../../');
     $configuration = @file_get_contents($filename);
     if ($configuration === false) {
         throw new Exception(sprintf('Unable to open configuration file ("%s")', $filename));
     } else {
         $configuration = json_decode($configuration, true);
         if ($configuration === false) {
             throw new Exception(sprintf('Unable to parse configuration file ("%s")', $filename));
         }
         if (is_array($configuration)) {
             self::$configuration = $configuration;
         } else {
             self::$configuration = array();
         }
     }
     self::$filename = $filename;
 }