':param concrete_states:
:return:'

def register_callbacks(self, concrete_states):

    for concrete_state in concrete_states:
        for bp_type in ('reg_read', 'reg_write', 'mem_read', 'mem_write', 'instruction'):
            concrete_state.inspect._breakpoints[bp_type] = []
        concrete_state.inspect.add_breakpoint('reg_read', BP(when=BP_AFTER, enabled=True, action=self._hook_register_read))
        concrete_state.inspect.add_breakpoint('reg_write', BP(enabled=True, action=self._hook_register_write))
        concrete_state.inspect.add_breakpoint('mem_read', BP(when=BP_AFTER, enabled=True, action=self._hook_memory_read))
        concrete_state.inspect.add_breakpoint('mem_write', BP(enabled=True, action=self._hook_memory_write))
