Added documentaion for the classes.

All the classes that were refactored or split up are documented.

[Branch: dev1.2.5]