Using CallerMemberAttribute to determine calling property name in SetProperty