still no IsChanged solution but the rest is smooth