<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def tag_configure(self, tag_name, **kwargs):
 """ Create a marker tag :param tag_name: Identifier for the tag :param move_callback: Callback to be called upon moving a marker. Arguments to callback: ``(iid: str, (old_start: float, old_finish: float), (new_start: float, new_finish: float))`` :type move_callback: callable :param left_callback: Callback to be called upon left clicking a marker. Arguments to callback: ``(iid: str, x_coord: int, y_coord: int)`` :type left_callback: callable :param right_callback: Callback to be called upon right clicking a marker. Arguments to callback: ``(iid: str, x_coord: int, y_coord: int)`` :type right_callback: callable :param menu: A Menu widget to show upon right click. Can be used with the right_callback option simultaneously. :type menu: tk.Menu In addition, supports all options supported by markers. Note that tag options are applied to markers upon marker creation, and thus is a tag is updated, the markers are not automatically updated as well. """

        callbacks = [
            kwargs.get("move_callback", None),
            kwargs.get("left_callback", None),
            kwargs.get("right_callback", None)
        ]
        for callback in callbacks:
            if callback is not None and not callable(callback):
                raise ValueError("One or more callbacks is not a callable object")
        self._tags[tag_name] = kwargs