I don't think this method should be called init. Init is a cheap way of adding a constructor to object literals. Seeing as this is an object which has a real constructor the contents of this should either live there or this should be renamed to better match what it does.

This method also checks for length of `this.$input`. If that is zero then the constructor should have probably exited early on line 7.