protected function init(\stdClass $configuration)
    {
        // Setup basics
        $this->configure(
            $configuration->identifier,
            $configuration->lifetime,
            $configuration->gcTime,
            $configuration->useCookies
        );

        // Setup security if enabled
        if ($configuration->security->enabled) {

            /*
                // Security features
                $this->initSessionSecurity(
                    $configuration->security->ssl,
                    $configuration->security->httponly
                );

                // Configure obfuscation of Session-Identifier
                if ($configuration->security->obfuscate) {
                    $this->enableObfuscation();
                } else {
                    $this->disableObfuscation();
                }

                // IP binding
                if ($configuration->security->bind->ip->enabled) {
                    $this->bindToIp($configuration->security->bind->ip->octets);
                }

                // Domain binding
                if ($configuration->security->bind->domain->enabled) {
                    $this->bindToDomain($configuration->security->bind->domain->mode);
                }

                // Path binding
                if ($configuration->security->bind->path->enabled) {
                    $this->bindToPath($configuration->security->bind->path->path);
                }
            */

            // Encryption
            if ($configuration->security->encryption->enabled) {
                $this->enableEncryption(
                    $configuration->security->encryption->cipher,
                    $configuration->security->encryption->encoding
                );

            } else {
                $this->disableEncryption();
            }

            /*
                // Regeneration of Session-Id
                $this->setRegenerateCycles($configuration->security->regenerate);
            */
        }

        return $this;
    }