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?
Application state surprised me.
Server v. Client was drilled into us with APIcurious and working on building out an api implementation first.
In rails we don't have to worry about managing state (because it just does it for us).
Step Four: Totally Optional: take a look at some of the other forks and comment if the spirit moves you.