@Lando, Many thanks for your reply, much appreciated. I was really confused. This is how I understand the concept from your reply. Please correct me if I am wrong.
* if ' s.host = 34 ' is called from the _same module_, it will directly access the object variable bypassing the 's.host=' method/proc. * if ' s.host = 34 ' is called from a _different module_, 's.host=' method/proc is called as direct access to object variable is not allowed.