Serialization working with DataContractSerializer (enables private members to also be serialized)