def immutable(function):
    '''Add the instance internal state as the second parameter
    of the decorated function.'''

    def wrapper(self, *args, **kwargs):
        state = freeze(self._get_state())
        return function(self, state, *args, **kwargs)

    return wrapper