Added extensive JavaDoc to the rest of the classes.