Notes and initial implementation of idiomatizing the gui

Use an atom and a protocol to modularize the code
Update project to use new version of lein-launch4j