def send(self, stack: Layers):
        if not isinstance(stack, Stack):
            stack = Stack(stack)
        if 'callback_query' in self._update and stack.has_layer(Update):
            layer = stack.get_layer(Update)
            try:
                msg = self._update['callback_query']['message']
            except KeyError:
                layer.inline_message_id = \
                    self._update['callback_query']['inline_message_id']
            else:
                layer.chat_id = msg['chat']['id']
                layer.message_id = msg['message_id']
        if stack.has_layer(AnswerCallbackQuery):
            self._acq = stack.get_layer(AnswerCallbackQuery)
            stack = Stack([
                l for l in stack.layers
                if not isinstance(l, AnswerCallbackQuery)
            ])
        if stack.has_layer(Reply):
            layer = stack.get_layer(Reply)
            if 'message' in self._update:
                layer.message = self._update['message']
            elif 'callback_query' in self._update:
                layer.message = self._update['callback_query']['message']
        if 'inline_query' in self._update \
                and stack.has_layer(AnswerInlineQuery):
            a = stack.get_layer(AnswerInlineQuery)
            a.inline_query_id = self._update['inline_query']['id']
        if stack.layers:
            return super(TelegramResponder, self).send(stack)