I have examined the code and noticed that the parameters for the bind() method are switched. The parameters are indeed two, but the first one is the name of the event and the second one is the function to be called. That's why an Uncaught ReferenceError: onChange is not defined is thrown, because JS is searching for function called "onChange" to be executed.
In the link bellow you can see a sample demo illustrating how you can attach an event after the widget is initialized.