Keeps track of "dirty" status by monitoring arbitrary state
returns true if the args don't match the previous args always returns true on the first invocation