Starting work on support CoffeeScript 1.5, which removes support for "other typed" constructors.
More work on trying to get jQuery subclassing working in CoffeeScript 1.5. May have hit a dead end: pushStack() invokes a control's constructor() directly (without "new"), which CoffeeScript disallows.
Work on a possible workaround.
Tiny bit of progress. Trying to patch $.fn.pushStack().
Ensure that segments() invokes constructor with "new".
To avoid having to decorate classes on the fly, try avoiding use of jQuery-style "superclass" member on classes, and instead rely on CoffeeScript's __super__.
Track down other control instantiations that should use "new".
More unit tests pass, mostly by ensuring Control constructor is called with "new".
All unit tests pass once again.
Since Control is defined a standard CoffeeScript class, the definitions for its class members and prototype members can be placed together.
More cleanup.
Remove unbelievably complicated scheme to subclass jQuery while still allowing its static constructor (a.k.a. factory constructor) pattern. Instances of the Control class and its subclasses must now be instantiated using "new". We'll see if this sticks.
Add unit test which more explicitly manipulates an instance of a subclass. This issue came up in debugging problems related to CoffeeScript 1.5, which dropped support for "return" statements in constructors. That issue crippled QuickUI, but most of the unit test suite failed to catch the problem.
Fix new unit test.
Upgrade to Grunt 0.4.
Package tweak
Follow updated Grunt pattern for compiling a set of files and directing output to a separate folder.
Ensure use of "new" when instantiating a control.
Revert to using CoffeeScript plugin options: bare: true
Typo
Upgrade packages.