protected function resetPasswordStart(array $data)
    {
        $data['user']['data']['reset_password'] = array(
            'token' => gplcart_string_random(),
            'expires' => GC_TIME + $this->user->getResetPasswordLifespan(),
        );

        $this->user->update($data['user']['user_id'], array('data' => $data['user']['data']));
        $this->mail->set('user_reset_password', array($data['user']));

        return $this->getResultResetPasswordStart();
    }