shell.js clean up. Will abstract everything out to different classes when I have time to spare.