public function execute(Framework $framework, WebRequest $request, Response $response)
    {
        // Set the title for the page
        $this->setTitle($this->translate('Profile - Change password', '\\Zepi\\Web\\AccessControl'));
        
        // Get the Form object
        $changePasswordForm = $this->createForm($framework, $request, $response);
        
        // Process the submitted form data
        $changePasswordForm->processFormData($request, $response);
        
        $result = false;
        $errors = array();
        if ($changePasswordForm->isSubmitted()) {
            $errors = $changePasswordForm->validateFormData($framework);
            if (count($errors) === 0) {
                $result = $this->changePassword($changePasswordForm, $framework, $request, $response);
            }
        }
        
        // Fill the errors into the error box
        $errorBox = $changePasswordForm->getPart('login-errors');
        $errorBox->updateErrorBox($changePasswordForm, $result, $errors);
        
        // If $result isn't true, display the login form
        if (!$changePasswordForm->isSubmitted() || $errorBox->hasErrors()) {
            $renderedOutput = $this->render('\\Zepi\\Web\\AccessControl\\Templates\\ProfileChangePasswordForm', array(
                'result' => $result,
                'errors' => $errors,
                'form' => $changePasswordForm, 
                'layoutRenderer' => $this->getLayoutRenderer()
            ));
            
            $response->setOutput($renderedOutput);
        } else {
            // Display the successful changed message
            $response->setOutput($this->render('\\Zepi\\Web\\AccessControl\\Templates\\ProfileChangePasswordFinished'));
        }
    }