protected function createForm(Framework $framework, WebRequest $request, Response $response)
    {
        // Create the form
        $form = new Form('change-password', $request->getFullRoute('profile/change-password'), 'post');
        
        // Add the user data group
        $errorBox = new ErrorBox(
            'login-errors',
            1
        );
        $form->addPart($errorBox);
        
        // Add the user data group
        $group = new Group(
            'change-password',
            $this->translate('Please insert your old and your new password', '\\Zepi\\Web\\AccessControl'),
            array(
                new Password(
                    'old-password',
                    $this->translate('Old password', '\\Zepi\\Web\\AccessControl'),
                    true
                ),
                new Password(
                    'new-password',
                    $this->translate('New password', '\\Zepi\\Web\\AccessControl'),
                    true
                ),
                new Password(
                    'new-password-confirmed',
                    $this->translate('Confirm new password', '\\Zepi\\Web\\AccessControl'),
                    true
                ),
            )
        );
        $form->addPart($group);
        
        // Add the submit button
        $buttonGroup = new ButtonGroup(
            'buttons',
            array(
                new Submit(
                    'submit',
                    $this->translate('Change password', '\\Zepi\\Web\\AccessControl')
                )
            ),
            100
        );
        $form->addPart($buttonGroup);
        
        return $form;
    }