public static function run($function, $existing_version = null)
        {
            static::$existing_version = $existing_version;

            try {
                $canProceed = static::$function();

                return ($canProceed === false) ? false : true;
            } catch (DatabaseException $e) {
                Symphony::Log()->pushToLog('Could not complete upgrading. MySQL returned: ' . $e->getDatabaseErrorCode() . ': ' . $e->getMessage(), E_ERROR, true);

                return false;
            } catch (Exception $e) {
                Symphony::Log()->pushToLog('Could not complete upgrading because of the following error: ' . $e->getMessage(), E_ERROR, true);

                return false;
            }
        }