Rewrote cli.js to make use of underscore's bind; otherwise, bad behavior results from 'this' changing dynamically.