/**
  *Setup the magic data storage
  * @param array $old_config_values.  If non-null set the new storage to have these magic data values
  * @returns boolean.  True on success
  */
 function setupMagicDataStorage($old_config_values = null)
 {
     I2CE::raiseError("Setting up magic data in I2CE Core module");
     $new_config = I2CE::setupMagicData(false, true);
     if (!$new_config instanceof I2CE_MagicData) {
         I2CE::raiseError("Could not setup magic data storage");
         return false;
     }
     if (is_array($old_config_values)) {
         // If setting from the old values it will already be stored
         // in the temporary storage caches so those need to be cleared
         // or things won't get saved in the new permanent storage so clear
         // them all out first.
         $new_config->clearCache();
         $new_config->setValue($old_config_values);
     }
     I2CE::setConfig($new_config);
     I2CE_ModuleFactory::instance()->setStorage();
     return true;
 }