<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def verify_enroll(self, response):
 """Verifies and saves U2F enroll"""


        seed = session.pop('_u2f_enroll_')
        try:
            new_device, cert = complete_register(seed, response, self.__facets_list)
        except Exception as e:
            if self.__call_fail_enroll:
                self.__call_fail_enroll(e)

            return {
                'status' : 'failed', 
                'error'  : 'Invalid key handle!'
            }

        finally:
            pass

        

        devices = self.__get_u2f_devices()

        # Setting new device counter to 0
        new_device['counter'] = 0
        new_device['index']   = 0

        for device in devices:
            if new_device['index'] <= device['index']:
                new_device['index'] = device['index'] + 1

        devices.append(new_device)

        self.__save_u2f_devices(devices)
        
        self.__call_success_enroll()

        return {'status': 'ok', 'message': 'Successfully enrolled new U2F device!'}