Ported Recorder to Scala Swing + various clean ups & refactorings