<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_integrity(self):
 """Verifies that all required functions been injected."""

        if not self.__integrity_check:
            if not self.__appid:
                raise Exception('U2F_APPID was not defined! Please define it in configuration file.')

            if self.__facets_enabled and not len(self.__facets_list):
                raise Exception("""U2F facets been enabled, but U2F facet list is empty.
                                   Please either disable facets by setting U2F_FACETS_ENABLED to False.
                                   Or add facets list using, by assigning it to U2F_FACETS_LIST.
                                """)

            # Injection
            
            undefined_message = 'U2F {name} handler is not defined! Please import {name} through {method}!'

            if not self.__get_u2f_devices:
                raise Exception(undefined_message.format(name='Read', method='@u2f.read'))

            if not self.__save_u2f_devices:
                raise Exception(undefined_message.format(name='Save', method='@u2f.save'))


            if not self.__call_success_enroll:
                raise Exception(undefined_message.format(name='enroll onSuccess', method='@u2f.enroll_on_success'))

            if not self.__call_success_sign:
                raise Exception(undefined_message.format(name='sign onSuccess', method='@u2f.sign_on_success'))

            self.__integrity_check = True

        return True