Commenting.

I have added javadocs to all public, default and protected pieces of
code. I am still doing privates.