Step One: Watch Writing Testable JavaScript - Rebecca Murphey from Full Frontal 2012 (award for worst conference name ever?)
Step Two: Fork this gist.
Step Three: Respond to this question in your fork: Consider the four responsibilities that Rebecca lists for client side code (hint: they're color coded). Respond below with your thoughts. Did any of the responsibilities that she lists surprise you? Do you feel like you mentally split your client side code in IdeaBox and other past projects into these responsibilities?
Step Four: Totally Optional: take a look at some of the other forks and comment if the spirit moves you.
I don't really have any interesting thoughts about her groupings. They definitely make sense, but no, I didn't mentally split my IdeaBox code up to fit into these areas. On the other hand, I think I did actually end up with some of the separation - for instance, there are separate functions for setting up the page initially and modifying it later.