def update_model(self, updates=None):
        """
        Get or set, whether automatic updates are performed. When updates are
        off, the model might be in a non-working state. To make the model work
        turn updates on again.

        :param bool|None updates:

            bool: whether to do updates
            None: get the current update state
        """
        if updates is None:
            return self._update_on
        assert isinstance(updates, bool), "updates are either on (True) or off (False)"
        p = getattr(self, '_highest_parent_', None)
        def turn_updates(s):
            s._update_on = updates
        p.traverse(turn_updates)
        self.trigger_update()
Get or set, whether automatic updates are performed. When updates are
        off, the model might be in a non-working state. To make the model work
        turn updates on again.

        :param bool|None updates:

            bool: whether to do updates
            None: get the current update state