+1 for overloading of the "name" method. A nitpick: "or" in the assignment is not needed.