protected function getArchivePath() {
        if (!isset($this->_archivePath)) {
            $this->_archivePath = \Reaction::$app->getAlias($this->archivePath);
            $path = \Reaction::$app->getAlias($this->archivePath);
            $self = $this;
            $fs = \Reaction::$app->fs;
            $dirAsFile = $fs->file($path);
            $pathPromise = $dirAsFile->exists()->then(
                null,
                function() use ($path) {
                    return FileHelperAsc::createDir($path, 0777, true);
                }
            )->then(
                function() use (&$self, $path) {
                    $self->_archivePath = $path;
                    return $path;
                },
                function() {
                    throw new SessionException("Failed to get session archive path");
                }
            );
            return resolve($pathPromise);
        }
        return resolve($this->_archivePath);
    }