Added as much Javadoc comments as I could stand.