Sometimes it bothers me that objects are fancy structs and at those times I think every property should change indirectly as the result of some action. The properties change because the object does something, not because we simply change the properties. At those times I also think that objects should be little black boxes where we don't know what properties it has, although we can send it messages and get responses.
But then, I get over it pretty quickly because I don't care that much. It's a nice thing to think about as I design interfaces, but I'm not going to lose sleep over it if I can't make it happen. :)