------------D75D1603B54FCD7 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit David, >> That's great and solves my particular problem. >> But what if the class being derived from does not have a replace method? DAB> If the object has state that can be modified, then there will be (by DAB> definition) ways to modify that state. If it doesn't, then there won't DAB> be, and the class in question is probably a bad starting point if you DAB> want to create objects with state that can be modified. DAB> That's one of the advantages of using proxy objects and delegators: you DAB> gain an extra axis along which you can make decisions about things like DAB> object state. Even though you can't change (say) a Fixnum, you can DAB> create objects with integer attributes that *can* be changed. Could you expand on this with an example, please? ------------D75D1603B54FCD7--