That's the wrong direction. Having "Area" be a contained object only makes it more obvious to the caller that this is setting a variable. The caller is not supposed to care about that. A method called "set_area" should be able to set a simple property, or set several properties and call some calculation methods, or make a SOAP call, or whatever. That sort of abstraction is the main reason to use OO.