public function setContext(array $context)
    {
        $context = array_merge($this->getDefaultContext(), $context);

        // Always save to property in service for fallback
        $this->context = $context;

        // Try to save the context in session,
        if ($this->session) {
            $this->session->set(static::SESSION_KEY, $context);
            $this->session->save();
        }
    }