Updated documentation for this class.
Changed data type to int from NSInteger.  I may reverse this because NSInteger does auto casting depending on the device it is used on.
Added some documentation to the class.
Updated documentation for the factory
performed documentation for the classes.
Updated documentation on several files.