Actually I do have one question:  why isnt self.name saved in unicode already, rather than only used in a unicode way for data-layer purposes? Ie, why not do the conversion once at assignment rather than on each read here? Does that break an assumption on the type of self.name?