Should probably use self.transformer.im_func instead of self.transformer[0] whichs run that risk of syntactic ambiguity.
unbound method shmethod 
eg.
class Transformer(sublime_plugin.TextCommand):
def run(self, edit):
self.transform(self.transformer.im_func, self.view, edit)
def transform(self, f, view, edit):
for s in view.sel():
if s.empty():
s = view.word(s)
txt = f(view.substr(s))
view.replace(edit, s, txt)
class SwapCaseCommand(Transformer):
transformer = string.swapcase
class UpperCaseCommand(Transformer):
transformer = string.upper
class LowerCaseCommand(Transformer):
transformer = string.lower

I totally understand why though, so it’s a good thing!
