A telephone needs the attributes of a person, because the “talk” verb is associated with people, and you have to be able to talk to a telephone. (This was a real I7 bug report.)

Rule-Based Programming in Interactive Fiction is a really interesting look at the troubles of writing a scripting language for interactive fiction. I actually started writing one in C# a few years ago and ran into almost all of the problems discussed immediately.