<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def attach_tracker(self, stanza, tracker=None, token=None):
 """ Configure tracking for a stanza without sending it. :param stanza: Message stanza to send. :type stanza: :class:`aioxmpp.Message` :param tracker: Message tracker to use. :type tracker: :class:`~.MessageTracker` or :data:`None` :param token: Optional stanza token for more fine-grained tracking. :type token: :class:`~.StanzaToken` :rtype: :class:`~.MessageTracker` :return: The message tracker. If `tracker` is :data:`None`, a new :class:`~.MessageTracker` is created. If `token` is not :data:`None`, updates to the stanza `token` are reflected in the `tracker`. If an error reply is received, the tracker will enter :class:`~.MessageState.ERROR` and the error will be set as :attr:`~.MessageTracker.response`. You should use :meth:`send_tracked` if possible. This method however is very useful if you need to track carbon copies of sent messages, as a stanza token is not available here and re-sending the message to obtain one is generally not desirable ☺. """

        if tracker is None:
            tracker = MessageTracker()
        stanza.autoset_id()
        key = stanza.to.bare(), stanza.id_
        self._trackers[key] = tracker
        tracker.on_closed.connect(
            functools.partial(self._tracker_closed, key)
        )
        if token is not None:
            token.future.add_done_callback(
                functools.partial(
                    self._stanza_sent,
                    tracker,
                    token,
                )
            )
        return tracker