The problem w/calling lang.hitch() like this, rather than the standard way of passing a string as a second arg, is that you break the ability for people to connect to _onTouchMove and _onTouchEnd. 

    var cls = { func: function(){ ... } };
    var hitchedFunc = lang.hitch(cls, cls.func);
    dojo.connect(cls, "func", function(){ alert("class was called"); });
    hitchedFunc();

Now when calling hitchedFunc(), you would want the alert() to appear, right?   But it doesn't.

Admittedly those are private methods, but it's still troubling to me.

It's also strange to use this.on() internally in the widget, but I guess it works.