- Fix inconsistency where constructors were public.
- Add and update inline documentation. - Mark some inconsistencies. - Not everything is reviewed yet.