[fix] always returns $this.
[fix/feature] modify only if some values are modified.