Remove incomplete and unused consumer dispose
Implement consumer using when deferred
Cleanup deferred resolve and error
Implement then based on when.js
Use when.js for deferred and then, allow promises as wrapped values
remove _r.deferred in favor of _r.when.defer
Merge Deferred with Underarm, Deferred no longer required
Rename top level underarm to index
Move Underarm prototype and mixin methods to lib/underarm
Simplify undearm and producer impl with prototype undearm as producer