public static function set($actionName, $duration, $location, $varyByParam = null, $varyByHeader = null, $varyByCustom = null) {
        if (!self::canCache($actionName)) { return; }

        self::$settings[$actionName]['duration'] = $duration;
        self::$settings[$actionName]['location'] = $location;

        if (!empty($varyByParam)) {
            self::$settings[$actionName]['varyByParam'] = $varyByParam;
        }

        if (!empty($varyByHeader)) {
            self::$settings[$actionName]['varyByHeader'] = $varyByHeader;
        }

        if (!empty($varyByCustom)) {
            self::$settings[$actionName]['varyByCustom'] = $varyByCustom;
        }
    }