'See on_attribute_changed.'

def _record_attributes(self, attributes):

    assert (not isinstance(attributes, basestring))
    self._recorded_attributes = dict(((attribute, getattr(self, attribute)) for attribute in attributes))
