builtin classの継承の仕方がよくわからん。

class Wrapper(unicode):
    def __init__(self, value):
        print "__init__:", `value`
        unicode.__init__(self, u"[%s]" % value)

argw = Wrapper(u'\u30c6\u30b9\u30c8')
print `argw`

結果
__init__: u'\u30c6\u30b9\u30c8'
u'\u30c6\u30b9\u30c8'

これだと、__init__()は通っているのだが、値は変更できていない。