Note: shallowRef will always trigger on assignment because it does not account for deep mutations close #1012