fix #41 by adding DataContractAttribute to PropertyChangedBase