Add lots of javadoc. A few renames for redability.

- Just lots of javadoc.