Started commenting classes

I add brief descriptions to most of the classes in workflow. Some of the descriptions are vague because I couldn't infer the bigger design idea behind the class. @miho, can you clarify where things seem vague?

The biggest change I made was to add the `skin` package. The code was getting unwieldy in one package.