Have a basic representation of class declarations using Visitors

Consider re-doing this with clojure's multimethods.
This might be the simplest way to do it.