def _on_disconnection_finished(self, success, result, failure_reason, context):
        """Callback function called when a previously asked disconnection has been finished.
        It is executed in the baBLE working thread: should not be blocking.

        Args:
            success (bool): A bool indicating that the operation is successful or not
            result (dict): Disconnection information (if successful)
              - connection_handle (int): The connection handle that just disconnected
              - code (int): The reason code
              - reason (str): A message explaining the reason code in plain text
            failure_reason (any): An object indicating the reason why the operation is not successful (else None)
            context (dict): The connection context
        """
        if 'connection_handle' in context:
            # Remove all the notification callbacks registered for this connection
            with self.notification_callbacks_lock:
                for connection_handle, attribute_handle in list(self.notification_callbacks.keys()):
                    if connection_handle == context['connection_handle']:
                        del self.notification_callbacks[(connection_handle, attribute_handle)]

        self.connections.finish_disconnection(
            context['connection_id'],
            success,
            failure_reason
        )