While we're making changes here anyway, it occurs to me that it's odd for ``has_changed('anything')`` to return ``True`` with an unsaved instance, but ``changed()`` returns an empty dict. Seems like maybe this should instead be a dict with all the fields as keys, and ``None`` for all the values? That seems a little odd, but it would be consistent with ``previous`` returning ``None`` when there is no saved data and ``has_changed`` returning ``True``.