willset and didset examples