datadef method that returns a reference has been renamed to datadefref to make this behaviour clearer. It is now more obvious to the user that he is working with a reference(so the true value) of the internal member and not a copy